home *** CD-ROM | disk | FTP | other *** search
/ CD ROM Paradise Collection 4 / CD ROM Paradise Collection 4 1995 Nov.iso / system / dosmnu70.zip / DOSMENU.DOC < prev    next >
Text File  |  1995-01-19  |  107KB  |  2,911 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.  
  9.  
  10.  
  11.  
  12.  
  13.  
  14.                                    DOSmenu
  15.                                    ═══════
  16.  
  17.                       A Powerful, Easy Management System
  18.            For Novell Netware, Other Networks, And Stand-Alone PCs
  19.  
  20.  
  21.  
  22.  
  23.  
  24.  
  25.  
  26.  
  27.  
  28.  
  29.  
  30.  
  31.  
  32.                       ▄▄▄▄▄▄▄▄▄▄▄
  33.                       █  ▄▄▄▄▄  █  (C)Copyright 1994-1995
  34.                       █  █   █  █
  35.                       █  ▀▀▀▀▀  ▀  Bremer Corporation
  36.                       █  ▄▄▄▄▄  ▄  Austin, Texas
  37.                       █  █   █  █
  38.                       █  ▀▀▀▀▀  █  All Rights Reserved
  39.                       ▀▀▀▀▀▀▀▀▀▀▀
  40.  
  41.  
  42.  
  43.  
  44.  
  45.  
  46.  
  47.  
  48.  
  49.                                 Version 7.0d
  50.  
  51.                                 January 1995
  52.                               TABLE OF CONTENTS
  53. ══════════════════════════════════════════════════════════════════════════════
  54.  
  55.      Topic                                                        Page
  56.  
  57.      Introduction . . . . . . . . . . . . . . . . . . . . . . . .   4
  58.  
  59.      Miscellaneous  . . . . . . . . . . . . . . . . . . . . . . .   5
  60.           Requirements
  61.           Recommendations
  62.           Maximum Limits
  63.           Startup Options
  64.           Required Files
  65.           Optional Files
  66.           Update Procedure For Registered Users
  67.  
  68.      Installation Instructions  . . . . . . . . . . . . . . . . .   8
  69.           Notes
  70.  
  71.      Startup Batch File . . . . . . . . . . . . . . . . . . . . .   9
  72.  
  73.      Menu Commands  . . . . . . . . . . . . . . . . . . . . . . .  10
  74.  
  75.      System Setup . . . . . . . . . . . . . . . . . . . . . . . .  11
  76.  
  77.      Menu Definition  . . . . . . . . . . . . . . . . . . . . . .  19
  78.           Server-Based Convention
  79.           Rights-Based Convention
  80.           Notes
  81.           Testing Your Menu
  82.  
  83.      Menu Rules . . . . . . . . . . . . . . . . . . . . . . . . .  26
  84.           Rules
  85.           Notes
  86.           Loading Additional Menus (/LOAD, /MENU)
  87.           Chaining Startup Batch Files (/NEW)
  88.           Logging In To Other Servers (/LOGIN)
  89.  
  90.      Sub-Menus  . . . . . . . . . . . . . . . . . . . . . . . . .  30
  91.  
  92.      Compiling Menu Files . . . . . . . . . . . . . . . . . . . .  31
  93.  
  94.      Translating Menu Files . . . . . . . . . . . . . . . . . . .  32
  95.  
  96.      Temporary Batch Files  . . . . . . . . . . . . . . . . . . .  33
  97.  
  98.      DOS Environment Variables  . . . . . . . . . . . . . . . . .  34
  99.  
  100.      Noticing . . . . . . . . . . . . . . . . . . . . . . . . . .  35
  101.  
  102.      Personal Menus . . . . . . . . . . . . . . . . . . . . . . .  36
  103.  
  104.      Picking Files From Lists . . . . . . . . . . . . . . . . . .  37
  105.  
  106.      Filling In The Command Line  . . . . . . . . . . . . . . . .  40
  107.  
  108.      Unattended Runs  . . . . . . . . . . . . . . . . . . . . . .  41
  109.  
  110.      DMutil Maintenance Utility . . . . . . . . . . . . . . . . .  42
  111.           Command Parameters
  112.           The Menu File Editor
  113.  
  114.      Hardware Managing Service  . . . . . . . . . . . . . . . . .  44
  115.  
  116.      Software Metering Service  . . . . . . . . . . . . . . . . .  46
  117.  
  118.      DMmeter Metering Utility . . . . . . . . . . . . . . . . . .  47
  119.  
  120.      WOmeter Metering Utility . . . . . . . . . . . . . . . . . .  48
  121.  
  122.      DMquery Batch Input Utility  . . . . . . . . . . . . . . . .  49
  123.  
  124.      Windows Office Menu  . . . . . . . . . . . . . . . . . . . .  50
  125.  
  126.      Bonus Utilities (For Registered Users) . . . . . . . . . . .  51
  127.  
  128.      Using DOSmenu with Novell NetWare 4.x  . . . . . . . . . . .  53
  129.           Using Bindery Information
  130.           Not Using Bindery Information
  131.  
  132.      Commonly Asked Questions . . . . . . . . . . . . . . . . . .  55
  133.  
  134.      Shareware  . . . . . . . . . . . . . . . . . . . . . . . . .  58
  135.           Evaluation Copy
  136.           Distribution
  137.           Registration
  138.           Disclaimer
  139.           Trademarks
  140.  
  141.      Additional DOSmenu Documentation Files  . . . . . . . . . . . 60
  142.                                 INTRODUCTION
  143. ══════════════════════════════════════════════════════════════════════════════
  144.  
  145. DOSmenu was designed as a simple yet powerful menu system for both network and
  146. stand-alone environments.
  147.  
  148. Here is a quick overview of DOSmenu:
  149.  
  150. o    Small executable size.
  151.  
  152. o    No memory overhead.
  153.  
  154. o    Unlimited menus.
  155.  
  156. o    Run any program, including TSRs.
  157.  
  158. o    Help About screens/files for any menu item.
  159.  
  160. o    Many rights options to determine whether a menu item is usable by a user.
  161.  
  162. o    Automatically knows NetWare.  Works with other networks and stand-alone
  163.      environments.
  164.  
  165. o    Change menu environment on-the-fly while users are active.
  166.  
  167. o    Optionally compile menu files for ultimate menu security.
  168.  
  169. o    One utility (DMutil) handles all menu maintenance tasks.
  170.  
  171. o    Translate NetWare menu files.
  172.  
  173. o    Complete user logging and reporting capabilities.
  174.  
  175. o    Complete Software Metering Service and reporting capabilities.
  176.  
  177. o    Complete Hardware Managing Service and reporting capabilities.
  178.  
  179. o    Allow users to fill in commands and pick items/files from lists for any
  180.      menu item command.
  181.  
  182. o    Full mouse support, a large menu utility set and printed documentation
  183.      with the registered version.
  184.                                 MISCELLANEOUS
  185. ══════════════════════════════════════════════════════════════════════════════
  186.  
  187. REQUIREMENTS
  188. ════════════
  189.  
  190. DOSmenu's only known requirement is that it must run under DOS 3.1 or higher.
  191. It loads Windows fine and runs fine from a Windows DOS session.
  192.  
  193.  
  194. RECOMMENDATIONS
  195. ═══════════════
  196.  
  197. We strongly recommend placing the command
  198.  
  199.      SHELL=C:\COMMAND.COM /E:512 /P {or more}
  200.  
  201. in all CONFIG.SYS files using this menu system.  The environment space is
  202. needed as DOSmenu passes many things through the DOS environment (thereby
  203. utilizing NO overhead).
  204.  
  205.  
  206. MAXIMUM LIMITS
  207. ══════════════
  208.  
  209. Number of..
  210.   menu files: unlimited
  211.   sub-menus per file: 30+ (depends on memory)
  212.   shown items per sub-menu: 35
  213.   DOS commands per menu item: 35
  214.   rights per menu item: 10
  215.   right items per right group: 10
  216.   active notices per user: 15
  217.   lines per notice: 10
  218.   pick items: 250
  219.   metered applications: 100
  220.   managed workstations per server: 1000
  221.  
  222. Length of..
  223.   menu item lines: 60
  224.   menu rights lines: 120
  225.   menu command lines: 120
  226.   help lines: 60
  227.   about lines: 50
  228.   screen title: 78
  229.   questions: 72
  230.   notice lines: 70
  231.   pick items: 67
  232.  
  233.  
  234. STARTUP OPTIONS
  235. ═══════════════
  236.  
  237. DOSmenu is actually started with the DOSMENU command from within the menu
  238. startup batch file, MENU.BAT.
  239.  
  240.  
  241. REQUIRED FILES
  242. ══════════════
  243.  
  244. The following files are necessary to run DOSmenu:
  245.  
  246. DOSMENU.EXE    The DOSmenu program.
  247.  
  248. DMMISC.EXE     Required for registered versions (it is the register-key file).
  249.                It must reside in DOSMENU.EXE's home directory (and
  250.                DMLOGIN.EXE's home directory, if different).
  251.  
  252. DMUTIL.EXE     The DOSmenu utility program.  It handles all menu system
  253.                maintenance chores.
  254.  
  255. DOSMENU.INI    The default DOSmenu INI file initially made and edited with
  256.                DMutil.  It configures your menu system environment.
  257.  
  258. DOSMENU.MNU    The default DOSmenu menu file initially made and edited with
  259.                DMutil.  This file is the default menu.
  260.  
  261. MENU.BAT       The startup batch file initially made and edited with DMutil.
  262.  
  263.  
  264. OPTIONAL FILES
  265. ══════════════
  266.  
  267. Although not required, these files can extends DOSmenu's usefulness:
  268.  
  269. DOSMENU.PER    Optional personal menu kept in users' private directory.
  270.  
  271. DOSMENU.NTE    The default DOSmenu note file initially made and edited with
  272.                DMutil.  This file holds user notices.
  273.  
  274. DOSMENU.LOG    If logging is enabled, this file is appended every time a user
  275.                performs a menu action.
  276.  
  277. DOSMENU.MTR    If metering is enabled, this is the central file where the
  278.                metering information is kept.
  279.  
  280. DMSAVER.EXE    An external screen saver (you may use your own as well).
  281.                This one can use the user's NetWare password to help protect
  282.                workstations.
  283.  
  284. DMMANAGE.EXE   An external hardware managing utility that can keep a
  285.                management database of all workstations on your network.
  286.  
  287. DMMETER.EXE    An external software metering utility that can compliment the
  288.                metering services offered from within the DOSmenu.
  289.  
  290. DMQUERY.EXE    An external utility that gets and uses batch file input.
  291.  
  292. DMPAUSE.EXE    Like DOS 'pause' command but with ^C and ^Break key trapping.
  293.  
  294. DMVIEW.EXE     A full-fledged file viewing utility for you and your users.
  295.                It is a great utility for filling those menu items that require
  296.                your users simply to "look" at something, like a company
  297.                listing or a business printout on line.  It offers a simple
  298.                interface yet a powerful engine.
  299.  
  300. DMSELECT.EXE - A great instant menu utility especially suited for users on a
  301.                network.  Many, many uses are possible with this easy utility.
  302.  
  303. DMSURVEY.EXE - A great interactive network survey tool that contains its own
  304.                command processor to allow you to query your users.  Answers
  305.                can be saved to separate user files or a central dimited file
  306.                for later import/processing by nearly any program.
  307.  
  308. DMLOGIN.EXE    A great user login utility that enhances network order and
  309.                security.  (See DMLOGIN.DOC file for specifics).
  310.  
  311. DMLOGIN.INI    The control file for DMlogin.
  312.  
  313. DMLOGIN.DAT    The optional password file for exiting DMlogin.
  314.  
  315. INSTALL.EXE    The initial DOSmenu installation program.
  316.  
  317. WOMETER.EXE    A Windows-based software metering utility that can be used to
  318.                view, reset, and periodically erase the meter file.  This
  319.                program performs the same functions as DMmeter.
  320.  
  321. THREED.VBX     Required for WOMETER.EXE.  Place in \WINDOWS directory.
  322.  
  323. VBRUN300.DLL   Required for WOMETER.EXE.  Place in \WINDOWS directory.  (If
  324.                necessary, download it from most online services.  It is
  325.                shipped with the registered version.)
  326.  
  327. NOBRK.EXE      A very useful utility that can help to guarantee security
  328.                within your menu system with an approach different than the
  329.                inherent DOSmenu {r=nobreak} rights option.
  330.  
  331. Many additional utility programs (see BONUS UTILITIES section) are also
  332. shipped with the registered version.
  333.  
  334.  
  335. UPDATE PROCEDURES FOR REGISTERED USERS
  336. ══════════════════════════════════════
  337.  
  338. There are two ways to upgrade your registered version of DOSmenu starting with
  339. version 6.4.
  340.  
  341. Download from the Internet with Anonymous FTP
  342. ─────────────────────────────────────────────
  343. You may download the latest shareware DOSMNU70.ZIP file at any time and copy
  344. its files over your existing registered files during installation.  It will
  345. then become registered automatically.  (Make sure you do not delete the
  346. existing DMMISC.EXE file, which is your register-key file.)  FTP LOCATION:
  347. io.com:/pub/usr/zboray/shareware directory.
  348.  
  349. By mail directly from us
  350. ────────────────────────
  351. You may write to us and request the latest registered update.  Please include
  352. $15 US for shipping and handling.
  353.                           INSTALLATION INSTRUCTIONS
  354. ══════════════════════════════════════════════════════════════════════════════
  355.  
  356. To quickly get the menu system up and running, do the following (check the
  357. documentation later for specifics):
  358.  
  359. *    If you received a shareware version containing one self-executable file
  360.      called DOSMNU.EXE, then copy that file to a temporary directory on your
  361.      hard disk and then run 'DOSMNU' to unzip the DOSmenu distribution files.
  362.  
  363.  
  364. 1    Run 'INSTALL' from the distribution disk to copy DOSmenu files to their
  365.      permanent directories and perform initial setup of DOSmenu support files.
  366.  
  367. 2    After installation, you can further define your menu system with DMutil.
  368.  
  369.      'DMUTIL' edits all DOSmenu support files.
  370.      'DMUTIL /C DOSMENU.INI' compiles the init file for security (optional).
  371.      'DMUTIL /C DOSMENU.MNU' compiles the menu file for security (optional).
  372.      'DMUTIL /?' shows additional options.
  373.  
  374. 3    Run 'MENU' to start the menu system.
  375.  
  376. 4    Press Ctrl+F9 to further tailor the system with DMutil from DOSmenu.
  377.  
  378.  
  379. NOTES
  380. ═════
  381.  
  382. The installation process does not alter any of your system start-up files.
  383.  
  384. During installation, the following files will be made in the target directory:
  385.  
  386.      MENU.BAT    - default menu startup batch file
  387.      DOSMENU.INI - default menu environment file
  388.      DOSMENU.MNU - sample menu file
  389.      DOSMENU.NTE - sample note file for user/group notices
  390.      DMSAMPLE.*  - sample text files for the sample menu
  391.  
  392. Check the documentation for specifics on DOSmenu's easy and powerful features.
  393.  
  394. Enjoy!
  395.                               STARTUP BATCH FILE
  396. ══════════════════════════════════════════════════════════════════════════════
  397.  
  398. As part of the initial file installation performed by DMutil, the file
  399. MENU.BAT will be made.  All DOSmenu files except for MENU.BAT and the MNU
  400. files _must_ remain in DOSmenu's home directory.  All users must have READ
  401. rights to this directory.  If you move or rename MENU.BAT, be sure to change
  402. it accordingly.  You may also move MNU files as long as you call them with
  403. their path.  If no path is given, then DOSmenu looks for them in its home
  404. directory.
  405.  
  406. Here is a commented MENU.BAT:
  407.  
  408. @echo off                           ;Cosmetics only
  409. ::uncomment variation of next line on networks when you don't want the menu to
  410. ::  appear if user is not logged in (especially if MENU.BAT is in LOGIN dir)
  411. REM if not exist f:\public\*.* goto END
  412. echo Loading Menu . . .
  413. f:                                  ;Helps achieve a 'cleaner' logout
  414. cd \login                           ;"
  415. ::add menu name, to end of next line only, if not starting with DOSMENU.MNU
  416. f:\login\dosmenu /batch %1 %2 %3 %4 %5 ;Point to/run DOSmenu
  417. ::quitting the menu system?         ;255 passed with F10 or 'goto END' passed
  418. if errorlevel 255 goto END          ;If so, then leave loop and batch file
  419. ::running a new startup batch file? ;254 passed with /NEW or /LOGIN commands
  420. if errorlevel 254 goto NEW          ;If so, then leave loop and batch file
  421. ::run DOS variable set by DOSmenu
  422. %_dmcmd%                            ;The DOS command or temp batch file name
  423. ::do it again                       ;Keep running the batch file (and the menu
  424. f:\login\menu %1 %2 %3 %4 %5 %_dmmnu% /rerun ;  system) until system stopped
  425. goto END
  426. :NEW
  427. %_dmcmd%                            ;The new startup batch file name
  428. :END                                ;Place to go to when quitting
  429. set _DMMTR=                         ;optional lines to cleanup DOS when
  430. set _DMNTE=                         ;  quitting DOSmenu
  431. set _DMCMD=                         ;
  432. set _DMMNU=                         ;
  433.  
  434. _dmcmd holds either the actual menu command or the temporary batch file path
  435. and name.
  436.  
  437. _dmmnu holds the name of the current 'main menu'.
  438.  
  439. Quitting will move to the end of the batch file, thereby stopping the system.
  440. You can place a quit command on your user's menu to do the same thing by
  441. defining a single DOS command for that menu item as 'goto END'.
  442.                                 MENU COMMANDS
  443. ══════════════════════════════════════════════════════════════════════════════
  444.  
  445. F1        HELP      Brings up context sensitive help (also Ctrl+F1).
  446.  
  447. F2        DOS       Performs any DOS command from within the confines of the
  448.                     menu system.  Can be password protected.
  449.  
  450. F3        VIEW DOS  Views last DOS screen.  If quit timing is enabled and an
  451.                     F2 password is enabled, this option is password protected.
  452.  
  453. F4        VIEW NOTE Views any notices that were directed to a user.
  454.  
  455. F5        PERSONAL  Load user's personal menu file.  Can be disabled.
  456.  
  457. F6        EDIT PER  Edit personal menu file.  Can be disabled.
  458.  
  459. F7        VIEW CMDS View the actual menu item' command(s).  Can be password
  460.                     protected.
  461.  
  462. F8        WS STATS  Workstation status report (multiple screens). Can send to
  463.                     LPT1.  See HARDWARE MANAGING SERVICE section as well.
  464.  
  465. F9        EDIT      Edit the current menu file, interactively, while running
  466.                     the menu system.  (Alt+F9, Shift+F9 and Ctrl+F9 edit
  467.                     variations of the menu system files -check the program
  468.                     Help screen.)  Can be password protected.
  469.  
  470. F10       QUIT      Quits DOSmenu.  Can be password protected.
  471.  
  472. Alt+F1-F8 UTILS     Run a common utility program (if defined in DOSMENU.INI).
  473. Ctrl+F1-F8
  474. Shift+F1-F8
  475.  
  476. ?         ABOUT     Perform the About function on a menu item (if defined).
  477.  
  478. Ctrl+Alt  SAVER     Immediately invoke the screen saver function.
  479.  
  480. Esc       PREVIOUS  Backs up to the previous menu or cancels a question (or
  481.                     Del).
  482.  
  483. Mouse               Point to an item and run it.  Left button = Enter.  Right
  484.                     button = Esc.
  485.  
  486. Enter     RUN       Run the highlighted menu item (or Ins or SpaceBar)
  487.  
  488. Ctrl+EnterUNATTEND  Run the highlighted menu item in unattended mode.  See
  489.                     UNATTENDED RUNS section.
  490.  
  491.                                  SYSTEM SETUP
  492. ══════════════════════════════════════════════════════════════════════════════
  493.  
  494. DOSmenu has two setup phases, the initial default file creation and then
  495. configuration.
  496.  
  497.  
  498. DEFAULT MENU FILES CREATION
  499. ═══════════════════════════
  500.  
  501. The installation process copies DOSmenu files to a permanent home directory
  502. and then runs DMutil to make the initial menu file set consisting of
  503. DOSMENU.INI (the init file), DOSMENU.MNU (the menu file shell), DOSMENU.NTE
  504. (the note file) and MENU.BAT (the startup batch).
  505.  
  506.  
  507. SYSTEM CONFIGURATION
  508. ════════════════════
  509.  
  510. Installation also allows the first opportunity to edit the DOSMENU.INI file in
  511. order to set the environment for your specific system.  You may re-edit this
  512. file at any time by either pressing F9 from within DOSmenu (if you have
  513. appropriate rights) or by running 'DMUTIL' at the command line.  The INI file
  514. contains various options and switches that control how DOSmenu (and DMutil)
  515. will work for you and your users.  These are discussed here.
  516.  
  517. As of version 7.0, you may substitute DOS variables anywhere in the
  518. DOSMENU.INI and DOSMENU.NTE files and all menu (*.MNU) files (but not at the
  519. beginning of menu item lines!).
  520.  
  521.  
  522. [DMutil]
  523.  
  524. Activate mouse=
  525. ───────────────
  526. Default=yes.  With the registered version, you may optionally engage use of a
  527. mouse (if a mouse driver is available) or disengage use.  Disengaging can be
  528. useful if your system takes a long time to reset the mouse driver when loading
  529. DOS mouse-aware programs.
  530.  
  531. DOSmenu Startup Batch File=
  532. ───────────────────────────
  533. Default={directory you built files in originally}.  This option allows DMutil
  534. to load your startup batch file when loading the other menu system files with
  535. the 'DMUTIL' command.  This is necessary because you may (and should) move
  536. your MENU.BAT to a directory in the users' path.  You may also rename it,
  537. though you must be careful to change the file contents appropriately in that
  538. case.  Although not critical, you should enter the path and name of your
  539. startup batch file here.
  540.  
  541.  
  542. [Interface]
  543.  
  544. Use Mouse=
  545. ──────────
  546. Default=yes.  With the registered version, you may optionally use your mouse
  547. to manipulate your menu.  A mouse driver (like MOUSE.COM) must be loaded on
  548. the workstation to enable mouse support.
  549.  
  550. Desktop Color=
  551. ──────────────
  552. Default=71 or 70(mono machines).  This number determines the color of the menu
  553. system's desktop background.  The first number represents the foreground
  554. color, and the second number represents the background color.  If you enter
  555. only one color, then it will represent the background color and the foreground
  556. color will be 0.  Entering nothing or 0 will disable the desktop background.
  557. For example:
  558.  
  559.      71 = white on blue
  560.      7  = black on white
  561.      0  = no background
  562.  
  563. The standard MS-DOS colors are:
  564.  
  565.      0=black  1=blue  2=green  3=cyan  4=red  5=magenta  6=brown  7=white
  566.  
  567. Information Color=
  568. ──────────────────
  569. Default=7.  This single number determines the background color of the
  570. informations lines on the desktop.  You may enter a number from 0 to 7.  The
  571. colors are identified above.
  572.  
  573. Clear Screen By Default=
  574. ────────────────────────
  575. Default=yes.  This sets the menu default to either clear or not clearing the
  576. DOS screen before running menu items.  You can override this default with the
  577. {r=clear|noclear} right (see MENU DEFINITION section below).
  578.  
  579. Use CRT Border=
  580. ───────────────
  581. Default=yes.  Do you wish your CRT's border to be filled in.  This option does
  582. not work on monochrome monitors.
  583.  
  584. Frame Windows=
  585. ──────────────
  586. Default=yes.  Do you wish the normal program windows to have a frame?
  587.  
  588. Max Menu Window Height=
  589. ───────────────────────
  590. Default=10.  You may enter a number from 3 to 17 to define the max height of
  591. all menu windows.
  592.  
  593. Use Menu Chevrons=
  594. ──────────────────
  595. Default=yes.  If no, then the little chevrons that normally appear to the
  596. right of sub-menu items (depicting that the item is a sub-menu) will not be
  597. displayed and the double curly equal sign at the end of some menu items that
  598. signifies the menu item that will not run immediately (it has a question,
  599. password, etc, associated with it) will also not be displayed.
  600.  
  601. Use One Key Selection=
  602. ──────────────────────
  603. Default=yes.  If yes, then DOSmenu will react like some other popular menu
  604. programs when a user presses a menu selection (with the keyboard or mouse).
  605. It will immediately run the item (versus simply moving to it and waiting for
  606. the user to press Enter).  This switch also turns on the automatic generation
  607. of the menu item letters (from A..Z and 0..9) which is necessary to avoid
  608. duplicate item letters.  Therefore, you would want to avoid adding a menu
  609. item letter for each menu item with this approach.  If no, then DOSmenu uses
  610. the first character for each menu item as the menu item letter (whether
  611. separated from the item or not) and if users press the letter, they will have
  612. to press Enter afterwards.  The choice is yours and the sample menu now uses
  613. the one key switch set to yes.
  614.  
  615. For one key=yes:
  616. ;─────
  617. WordPerfect
  618.      wp
  619. ;─────
  620.  
  621. which results in:
  622.  
  623. ─────
  624. A WordPerfect (or B WordPerfect, etc.)
  625. ─────
  626.  
  627. For one key=no:
  628. ;─────
  629. W WordPerfect
  630.      wp
  631. ;─────
  632.  
  633. which results in:
  634.  
  635. ─────
  636. W WordPerfect
  637. ─────
  638.  
  639. Screen Saver Time=
  640. ──────────────────
  641. Default=5.  0 disables screen saving.
  642.  
  643. Screen Saver File=
  644. ──────────────────
  645. Default=[path]dmsaver.exe 1.  You may use your own saver as well.  KEEP IN
  646. MIND THAT THE SCREEN SAVER FEATURE WILL NOT FUNCTION IF A TIMED LOGOUT HAS
  647. BEEN DEFINED FOR THE SYSTEM (see below).  The parameter 1 (or 2 or 3) defines
  648. the screen saver type.  Type DMSAVER ? for specifics.
  649.  
  650. Screen Saver NetWare Password=
  651. ──────────────────────────────
  652. Default=yes.  If you are on a NetWare network, and you elect to use DMsaver
  653. as your screen saver, then this option will utilize the user's NetWare
  654. password to help protect the user workstation during idle times.  NOTE:
  655. The NetWare "Allow Unencrypted Passwords" must be set to ON for this option.
  656.  
  657. Screen Title=
  658. ─────────────
  659. Default=DOSmenu Menu System.  You may place your company name or something
  660. similar here, if you desire.  If this item is left blank, there will be no
  661. information line at the top of the screen.
  662.  
  663. Support Comment=
  664. ────────────────
  665. Default=For HELP Please Call Computer Support.  This phrase will be shown
  666. blinking at the bottom of the main help window.
  667.  
  668. Item About Viewer=
  669. ──────────────────
  670. Default=[path]dmview.exe /n.  Define the viewer/editor you wish the users to
  671. access when a menu item has been setup for a menu item About view.
  672.  
  673. To setup an item for this feature, simply add one indented line below the
  674. menu item's title line starting with a '?'.  This is similar to the item help
  675. line that starts with a '#'.  For example:
  676.  
  677. ;─────
  678. WordPerfect
  679.      #This is a word processor
  680.      ?f:\public\wp.txt
  681. ;─────
  682.  
  683. The above example will view F:\PUBLIC\WP.TXT with the defined Item About
  684. Viewer when the user points to this menu item and presses '?'.  Additionally,
  685. a '?=About' prompt will be displayed at the bottom left corner of the current
  686. menu window when the user points to this menu item.
  687.  
  688. KEEP IN MIND THAT THE ITEM ABOUT VIEW FEATURE WILL NOT FUNCTION IF A TIMED
  689. LOGOUT HAS BEEN DEFINED FOR THE SYSTEM (see below).
  690.  
  691. Show Date/Time=
  692. ───────────────
  693. Default=yes.  If NO, then the updated date and time will not be shown at the
  694. top of the menu screen.
  695.  
  696. Show F1/F10 Keys=
  697. ─────────────────
  698. Default=yes.  If NO, then the "F1 Help" and "F10 Quit" keys will not be shown
  699. at the bottom of the menu screen, whether enabled or not.
  700.  
  701. Use New Main Help Screen=
  702. ─────────────────────────
  703. Default=no.  If YES, then DOSmenu's main help screen will be the one you
  704. define in the [New Main Help Screen] section of the DOSMENU.INI file
  705. below.
  706.  
  707.  
  708. [Network]
  709.  
  710. Using NetWare=
  711. ──────────────
  712. Default=yes.  This switch tells DOSmenu whether it should make NetWare API
  713. calls to determine the actual user and server in force when it is running.
  714. If you answer no, and you are using or are going to use DOSmenu on a network,
  715. then you will need to set DOS variables equal to the current network user and
  716. file server from within your network login script and then define those
  717. variables for DOSmenu in the DOSMENU.INI file (options are described below).
  718. For instance, if you set the DOS variable _USER to the actual user ID in
  719. the network login script, then it will be found and used by DOSmenu if
  720. you enter _USER as the user DOS variable in DOSMENU.INI.
  721.  
  722. Non-NetWare DOS User Var=
  723. ─────────────────────────
  724. Default={nothing}.  As discussed above, this option allows DOSmenu to find the
  725. user ID when not on a NetWare network (or when overriding the API method).
  726.  
  727. Non-NetWare DOS Server Var=
  728. ───────────────────────────
  729. Default={nothing}.  As discussed above, this option allows DOSmenu to find the
  730. server name when not on a NetWare network (or when overriding the API method).
  731.  
  732. Any-Network DOS Node Var=
  733. ─────────────────────────
  734. Default={nothing}.  This option allows DOSmenu to use the workstation network
  735. node address as a determinant as to whether a menu item will be available or
  736. not.  Also required in order to utilize the Hardware Managing Service.
  737.  
  738. Private Directory=
  739. ──────────────────
  740. Default=c:\,a:\.  Users must have WRITE and ERASE rights to this location.
  741.  
  742. Typically, on networks, a 'private' area is mapped for each user on login as
  743. their personally mapped drive (actually just a network directory based on the
  744. user's ID) on the server.  In such a case, you should place that location
  745. here.  An example might be H:\ if you had performed a
  746.  
  747.      MAP ROOT F:\USERS\%LOGIN_NAME to H:\ (on a Novell network).
  748.  
  749. If no such directory is mapped or used on your network, then we suggest using
  750. C:\, which should always be private to the user for every session.
  751.  
  752. You may actually specify two private locations for this option, like
  753.  
  754.      Private Directory=h:\,c:\
  755.  
  756. to take care of special cases like when a user does not have proper mappings.
  757. You may use the syntax  =%var1%,%var2%  to use the contents of DOS variables
  758. for this purpose.  On a stand-alone environment, private directories are not
  759. needed, so this option may be left blank, in which case DOSMENU.EXE's home
  760. directory is used.
  761.  
  762. Temp Batch Directory=
  763. ─────────────────────
  764. Default=c:\,a:\.  DOSmenu writes temporary batch files to run menu commands
  765. embedded within the menu file _only_ when there is more than one command for
  766. the chosen menu item.  These batch files must be written to an area where the
  767. user has WRITE and ERASE rights.
  768.  
  769. We suggest using C:\, when possible, which should always be private to the
  770. user for every session and should remain stable under any network situation.
  771.  
  772. Typically, you could define this place as the user's private directory (see
  773. above), and in nearly all cases this will work just fine.  In fact if you
  774. leave this answer blank, the 'Private Directory=' answer will be used.
  775.  
  776. On occasion, programs re-map network directories or accidentally lose some
  777. mappings.  If this happens while a user is running a multi-command menu item
  778. (one that makes a temporary batch file), then the user, upon finishing with
  779. that program, may encounter a "Batch file missing" message and lose their
  780. prompt and cursor.  If this happens, mappings have most probably become
  781. corrupted or at minimum, unmapped.  If this happens consistently for certain
  782. menu commands, then we STRONGLY suggest you place a location here that will
  783. always be available no matter what state of the network mappings.
  784.  
  785. Remember, the user temporary batch file is only written if more than one DOS
  786. command is defined as part of a chosen menu item.  You may actually specify
  787. two temporary batch locations for this option, like
  788.  
  789.      Temp Batch Directory=c:\,h:\
  790.  
  791. to take care of special cases like when a user does not have a C drive.  You
  792. may use the syntax  =%var1%,%var2%  to use the contents of DOS variables for
  793. this purpose.  On a stand-alone environment, only one user writes temporary
  794. batch files, so this option may be left blank, in which case DOSMENU.EXE's
  795. home directory is used.
  796.  
  797. Use Connection Numbers=
  798. ───────────────────────
  799. Default=yes.  If no, then the user temp batch file will always be _DMBAT.BAT.
  800. See the TEMPORARY BACTH FILES section for other possibilities.
  801.  
  802. Allow Personal Menus=
  803. ─────────────────────
  804. Default=yes.  If yes, then each user may maintain, run and edit a personal
  805. menu file, DOSMENU.PER, that resides in their defined private directory (see
  806. above).  Users must have WRITE and ERASE rights to this directory.
  807.  
  808. Force Personal NoBreaks=
  809. ────────────────────────
  810. Default=yes.  If personal menus are allowed, this protects the security of
  811. your system by forcing all menu items on the user menu to be run with the
  812. {r=nobreak} right set.  This effectively eliminates the possibility of a user
  813. breaking out of a batch file or DOS command by pressing ^C or ^Break.
  814. Strongly recommended.  However, understand that any batch file that uses an
  815. embedded NetWare _search_ mapping command will not be honored in this case.
  816. The alternative is to use the included NOBRK TSR utility.
  817.  
  818. Timed Group=
  819. ────────────
  820. Default={nothing}.  Enter one group name here to optionally time that group
  821. only if Timed Quit Menu Time= is entered below.
  822.  
  823. Untimed Group=
  824. ──────────────
  825. Default={nothing}.  Enter one group name here to optionally ignoring timing
  826. for that group only if Timed Quit Menu Time= is entered below.
  827.  
  828. Mouse Group=
  829. ────────────
  830. Default={nothing}.  Enter one group name here to optionally insure mouse
  831. support for its members no matter what the Use Mouse= option is set to.
  832.  
  833. Nomouse Group=
  834. ──────────────
  835. Default={nothing}.  Enter one group name here to optionally insure NO mouse
  836. support for its members no matter what the Use Mouse= option is set to.
  837.  
  838.  
  839. [Security]
  840.  
  841. F2 Run DOS Password=
  842. ────────────────────
  843. Default={nothing}.  If filled in, DOSmenu will require this password before
  844. allowing users the option of composing and running their own DOS commands.
  845. For security reasons, if a user enters nothing or a command that has the word
  846. 'command' anywhere within it, then it will be ignored.
  847.  
  848. F9 Admin Password=
  849. ──────────────────
  850. Default={nothing}.  If filled in, DOSmenu will require this password before
  851. allowing anyone to edit the menu system files.  If no password is defined,
  852. then anyone can edit your menu system.  This password is also queried by
  853. DMutil in case someone tries to run DMutil from DOS.  This option protects
  854. both the F9 and F7 function key choices.
  855.  
  856. F10 Quit Menu Password=
  857. ───────────────────────
  858. Default={nothing}.  If filled in, DOSmenu will require this password before
  859. allowing users the option of quitting the menu system.  If no password is
  860. defined, the user is prompted to be sure they wish to quit the menu system.
  861.  
  862. NOTE: After defining password(s), you should compile the DOSMENU.INI file
  863. to maintain security with
  864.  
  865.      DMUTIL /C DOSMENU.INI
  866.  
  867. Password Exception Group=
  868. ─────────────────────────
  869. Default={nothing}.  If filled in, then members of this group will not be asked
  870. for any password from within DOSmenu, even if they are defined.
  871.  
  872. Use Hardware Managing=
  873. ──────────────────────
  874. Default=no.  This enables hardware metering.  You must fill out the next
  875. option and activate the Node address variable (above) as well.  See HARDWARE
  876. MANAGING SERVICE section for specifics.
  877.  
  878. Manage File=
  879. ────────────
  880. Default={nothing}.  If managing is enabled, then a path and filename must be
  881. entered here.  This file will become the central managing file for your system
  882. (on the current server).  Users must have WRITE and ERASE rights to this file.
  883.  
  884. Use Software Metering=
  885. ──────────────────────
  886. Default=no.  When enabled, the METER right will be enabled in your menu
  887. system.  You will be able to meter any DOS software application your users
  888. employ, which can help keep you and your company out of trouble.  See the
  889. SOFTWARE METERING SERVICE section for specifics.
  890.  
  891. Meter File=
  892. ───────────
  893. Default={nothing}.  If metering is enabled, then a path and filename must be
  894. entered here.  This file will become the central metering file for your system
  895. (on the current server).  Users must have WRITE and ERASE rights to this file.
  896.  
  897. Use Logging=
  898. ────────────
  899. Default=no.  When enabled, and entry to the log file will be appended every
  900. time a user enters or leaves DOSmenu or runs a menu item.
  901.  
  902. Log File=
  903. ─────────
  904. Default={nothing}.  If logging is enabled, then a path and filename must be
  905. entered here.  This file will become the central logging file for your system
  906. (on the current server).  Users must have WRITE and ERASE rights to this
  907. area.
  908.  
  909. Max Log File Size=
  910. ──────────────────
  911. Default=64000.  If you enter a number here, then DOSmenu will delete the log
  912. file when its gets to the size you specify, like:
  913.  
  914.      Max Log File size=500000.
  915.  
  916. Timed Quit Menu Time=
  917. ─────────────────────
  918. Default=0.  This option, if enabled, allows you to control your user's allowed
  919. time of inactivity before forcing them off of the network (or simply out of
  920. the menu system).  Entering 0 or nothing disables this function.
  921.  
  922. Timed Quit Menu Command=
  923. ────────────────────────
  924. Default=logout.  If automatic quitting is enabled via the option above, then
  925. whatever is placed in this option will be run when the automatic quit is
  926. invoked.  Obviously entering 'logout' will log the user out of a Novell
  927. network.  If you simply wanted to remove a user from the menu system at
  928. automatic quit, then enter 'goto end' here.  This in affect will take the user
  929. out of the MENU.BAT internal loop that normally keeps DOSmenu going.
  930.  
  931. Admin Group=
  932. ─────────────
  933. Default={nothing}.  If filled in with a group name, then members of this
  934. group will be able to see all menu items that are restricted by u= and g=
  935. (user and group rights are ignored).  This is for administrator testing only
  936. and, while running this way, the user is subject to the maximum number of
  937. sub-menus and any other memory limits.
  938.  
  939. Admin User=
  940. ─────────────
  941. Default={nothing}.  If filled in with a user login name, then this user will
  942. be able to see all menu items (all rights are ignored).  This is for
  943. administrator testing only and, while running this way, the administrator is
  944. subject to the maximum number of sub-menus and any other memory limits.
  945.  
  946.  
  947. [Global Keys]
  948.  
  949. AltF? Text= (where ? = 1 to 8)
  950. ───────────
  951. Default={variable}.  These lines determine what text will show by a global
  952. alternate function key.
  953.  
  954. AltF? Cmnd= (where ? = 1 to 8)
  955. ───────────
  956. Default={variable}.  These lines hold the DOS command for the appropriate
  957. global alternate function key.  These commands are always shown, when defined,
  958. and are run with the {r=nobreak} option, just like F2 DOS commands.  If no
  959. commands are defined, then pressing the Alt key will show nothing.
  960.  
  961. CtrlF? Text=
  962. CtrlF? Cmnd=
  963. ShiftF? Text=
  964. ShiftF? Cmnd=
  965. ─────────────
  966. These keys are defined the same as the Alt keys (discussed in the previous
  967. two paragraphs).
  968.  
  969. [New Main Help Screen]
  970. Default={sample text for help lines}.  If 'Use New Main Help Screen=yes'
  971. above, then this section is where you define your own main help screen.  Keep
  972. in mind that the maximum number of lines that can be shown is 20 and the
  973. maximum length of these lines is 70 characters.  Any line starting with a ';'
  974. will be considered a comment and will not be shown or counted.  Be sure not
  975. to use any Tab characters on these lines as they will be interpreted
  976. improperly on you help screen.
  977.                                MENU DEFINITION
  978. ══════════════════════════════════════════════════════════════════════════════
  979.  
  980. There are two conventions used to control the menu(s) a user gets when running
  981. the menu system, server-based and rights-based.  We will briefly both describe
  982. and show example code, offset with ';─────', throughout.
  983.  
  984. As of version 7.0, you may substitute DOS variables anywhere in the
  985. DOSMENU.INI and DOSMENU.NTE files and all menu (*.MNU) files (but not at the
  986. beginning of menu item lines!).
  987.  
  988. Additionally, you may use the syntax %DM_USER% and %DM_SERVER% anywhere to
  989. place the system User and system Server into your DOSmenu files.  This is
  990. true even if you are on NetWare and have not defined a DOS variable for these
  991. variables.  The following system variables are also available for use
  992. anywhere: %DM_YEAR%, %DM_MONTH%, and %DM_DAY% are also available (always
  993. returned as 2 digits).
  994.  
  995.  
  996. SERVER-BASED CONVENTION
  997. ═══════════════════════
  998.  
  999. Approaching a menu file from the top down (in a vertical sense), it can be
  1000. thought of as a server-based system.  This can become quite robust, as in our
  1001. eight-server domain or quite simple, as in the case of a single server or a
  1002. stand-alone environment.  Basically, the file is divided vertically into
  1003. server sections that are defined by the actual server name.  An all
  1004. encompassing name is also allowed, ALL.  Each server name, and ALL, must start
  1005. at the beginning of a line with a colon, like :OUR_SERVER or :ALL.  You can
  1006. have more than one section defined with the same server name, such as an :ALL
  1007. section at the beginning and at the end.  Here is a segment of a menu
  1008. definition showing the vertical server-based method:
  1009.  
  1010. ;─────
  1011. %Main Menu
  1012.  
  1013. :ALL
  1014. Word Perfect
  1015.      wp
  1016.  
  1017. :MAIN_SERVER
  1018. Paradox
  1019.      paradox
  1020. Lotus 1-2-3
  1021.      123
  1022.  
  1023. :SECOND_SERVER
  1024. Proprietary application
  1025.      ourapp
  1026.  
  1027. :ALL
  1028. Logout of the network
  1029.      logout
  1030. ;─────
  1031.  
  1032. In the above example, you can see that a person who is running on the main
  1033. server would get the following main menu:
  1034.  
  1035. ─────
  1036. Word Perfect
  1037. Paradox
  1038. Lotus 1-2-3
  1039. Logout of the network
  1040. ─────
  1041. while a person running on the second server would get:
  1042.  
  1043. ─────
  1044. Word Perfect
  1045. Proprietary application
  1046. Logout of the network
  1047. ─────
  1048.  
  1049. Note that any menu items (and sub-menus and their items) may be accessible
  1050. depending upon which section they are placed under, subject to the next
  1051. convention of discrimination, rights-based, which is discussed below.
  1052.  
  1053.  
  1054. RIGHTS-BASED CONVENTION
  1055. ═══════════════════════
  1056.  
  1057. A secondary, more powerful means of segregating the menu file between users is
  1058. the rights-based method.  Think of the rights-based convention in the
  1059. horizontal sense. In other words, after deciding which server a user is using,
  1060. we then must decide what the rights of that user are, and this convention does
  1061. just that. Let's discuss each method in detail.
  1062.  
  1063.  
  1064. All rights assumed
  1065. ──────────────────
  1066. Right = no right line entered.  This method actually checks nothing.  In other
  1067. words, a menu item will show up on a user's menu if it is under the correct
  1068. server name (or ALL), period.  In this case, you will be relying on your
  1069. defined network rights to determine whether a user will be able to _run_ a
  1070. menu item or not (they will always see the items on their menu).  This method
  1071. is, of course, exactly what you would want to use on a stand-alone
  1072. environment.
  1073.  
  1074. ;─────
  1075. Paradox
  1076.      paradox
  1077. ;─────
  1078.  
  1079. User gets item if it is available, period.
  1080.  
  1081.  
  1082. Directory rights
  1083. ────────────────
  1084. Right = {d=directory name or d=directory name1,directory name2 ..}.  DOSmenu
  1085. looks to see if any of the listed directories exist for the user when it reads
  1086. the menu file, and if none do, it does not place the item on the user's menu.
  1087.  
  1088. ;─────
  1089. Paradox
  1090.      {d=c:\apps\paradox}
  1091.      paradox
  1092. ;─────
  1093.  
  1094. User gets item only if F:\APPS\PARADOX is 'visible' in the user's environment.
  1095.  
  1096.  
  1097. File rights
  1098. ───────────
  1099. Right = {f=file name or f=file name1,file name2 ..}.  DOSmenu looks to see if
  1100. any of the listed files exist for the user when it reads the menu file, and if
  1101. none do, it does not place the item on the user's menu.
  1102.  
  1103. ;─────
  1104. Paradox
  1105.      {f=f:\apps\paradox\paradox.exe}
  1106.      paradox
  1107. ;─────
  1108.  
  1109. User gets item only if F:\APPS\PARADOX\PARADOX.EXE is 'visible' in the user's
  1110. environment.
  1111.  
  1112.  
  1113. Server rights (NetWare only unless DOS variable/command line parameters used)
  1114. ─────────────
  1115. Right = {s=server_name1 or s=server_name1,server_name2 ..}.  Do not confuse
  1116. this method with the server-based convention.  Here, by placing one or more
  1117. server names with a menu item, you are saying only show this item when the
  1118. user is logged into one of those servers.
  1119.  
  1120. ;─────
  1121. Paradox
  1122.      {s=main_server}
  1123.      paradox
  1124. ;─────
  1125.  
  1126. User gets item only if the user is logged into and running on MAIN_SERVER.
  1127.  
  1128.  
  1129. Group rights (NetWare only unless DOS variable/command line parameters used)
  1130. ────────────
  1131. Right = {g=group_name1 or g=group_name1,group_name2 ..}.  Normally you define
  1132. groups to group certain users that you can later assign trustee rights to,
  1133. thereby giving them access to certain programs.  This method allows you to use
  1134. that work when discriminating in your menu system.  There is an advantage
  1135. here, however, in that even if you do not bother with trustee rights and your
  1136. network is open, DOSmenu will act like it is all set up just right.  In other
  1137. words, DOSmenu doesn't care about actual rights; it only cares about whether
  1138. the user is in the group name or group names that you tell it.  If not, then
  1139. the user does not get the menu item displayed (and therefore cannot run it).
  1140.  
  1141. ;─────
  1142. Paradox
  1143.      {g=paradox}
  1144.      paradox
  1145. ;─────
  1146.  
  1147. User gets item only if a member of group PARADOX.
  1148.  
  1149.  
  1150. User rights (NetWare only unless DOS variable/command line parameters used)
  1151. ───────────
  1152. Right = {u=user_id or u=user_id1,user_id2 ..}.  This method takes the
  1153. discrimination down to the actual user ID running the system.  If the user
  1154. name is in the list, then the user gets the item on their menu (if any other
  1155. specified rights are also approved and the server-based convention allows it).
  1156.  
  1157. ;─────
  1158. Paradox
  1159.      {u=joeb}
  1160.      paradox
  1161. ;─────
  1162.  
  1163. User gets item only if his user logon ID is JOEB.
  1164.  
  1165.  
  1166. Node rights (DOS variable/command line parameter is required for this right)
  1167. ───────────
  1168. Right = {n=node_address or n=node_address1, node_address2 ..}.  This method
  1169. takes the discrimination down to the actual workstation.  If the node address
  1170. is the same as the workstation, the user gets the item on their menu (if any
  1171. other rights are also approved and the server-based convention allows it).
  1172.  
  1173. ;─────
  1174. Paradox
  1175.      {n=fa164505}
  1176.      paradox
  1177. ;─────
  1178.  
  1179. User gets item only if his workstation's address is FA164505.
  1180.  
  1181. You must pull the workstation's node address to DOS by setting it to a DOS
  1182. variable from within the network's initial login script.  Only then can you
  1183. check for it from the menu system.
  1184.  
  1185.  
  1186. Environment rights
  1187. ──────────────────
  1188. Right = {e=dos_env_var~env_var_text, ..}.  This powerful right tests for the
  1189. contents of a DOS variable.  For instance, to run a menu item depending on
  1190. what room a person is in, set ROOM=room_number at login; then enter this right
  1191. for the menu item in the menu file:  {e=room~102}  to test for room 102.  To
  1192. test whether the var room is null (does not exist), type {e=room~}.
  1193.  
  1194.  
  1195. Today rights
  1196. ────────────
  1197. Right = {t=su,mo,tu,we,th,fr,sa}.  This right tests to see if the current day
  1198. is equal to the day specified.
  1199.  
  1200.  
  1201. Date greater than rights
  1202. ────────────────────────
  1203. Right = {>=MM/DD/YYYY}.  This right tests to see if the current day is greater
  1204. than the specified date (must be in this format).
  1205.  
  1206.  
  1207. Date same as rights
  1208. ───────────────────
  1209. Right = {==MM/DD/YYYY}.  This right tests to see if the current day is the
  1210. same as the specified date (must be in this format).
  1211.  
  1212.  
  1213. Date less than rights
  1214. ─────────────────────
  1215. Right = {<=MM/DD/YYYY}.  This right test to see if the current day is less
  1216. than the specified date (must be in this format).
  1217.  
  1218.  
  1219. Hour greater than rights
  1220. ────────────────────────
  1221. Right = {)=HH}.  This right tests to see if the current hour is greater than
  1222. the specified hour (must be in 2-digit 24-hour format).
  1223.  
  1224.  
  1225. Hour same as rights
  1226. ───────────────────
  1227. Right = {-=HH}.  This right tests to see if the current hour is the same as
  1228. the specified hour (must be in 2-digit 24-hour format).
  1229.  
  1230.  
  1231. Hour less than rights
  1232. ─────────────────────
  1233. Right = {(=HH}.  This right test to see if the current hour is less than the
  1234. specified hour (must be in 2-digit 24-hour format).
  1235.  
  1236. For hour rights, keep in mind that the shown menu items are update every time
  1237. the user leaves the menu and returns (like when running a program or the
  1238. screen saver activates).  So a user who sits in the menu to another hour may
  1239. have inaccurate menu items until the menu is somehow refreshed.
  1240.  
  1241. Date and Hour together example: To show a menu item only during business hours
  1242. in July of 1994: {>=06/30/1994} {<=08/01/1994} {)=07} {(=18}  which means show
  1243. only after June 30th and before August 1st of 1994 and then only after the
  1244. hour of 7 am and before the hour of 6 pm.
  1245.  
  1246.  
  1247. Password rights
  1248. ───────────────
  1249. Right = {p=password where password is any alphanumeric, non-case sensitive,
  1250. from 1 to 10 characters long}.  Placing a password on a menu item means that
  1251. when the user selects this item (no matter what type it is - command or
  1252. sub-menu), the user will be prompted for the correct password.
  1253.  
  1254. ;─────
  1255. Paradox
  1256.      {p=restrict}
  1257.      paradox
  1258. ;─────
  1259.  
  1260. User gets item only if he or she can answer the password prompt with RESTRICT.
  1261.  
  1262.  
  1263. Question rights
  1264. ───────────────
  1265. Right = {q=your question that demands a yes/no answer?}  This method pops up
  1266. your question for a Yes/No answer.  If No, then the item will not be run.
  1267.  
  1268. If a '!' is placed prior to the question, {q=!comment}, then the question
  1269. becomes a comment only.
  1270.  
  1271. ;─────
  1272. Paradox
  1273.      {q=Are you sure?}
  1274.      paradox
  1275. ;─────
  1276.  
  1277.  
  1278. View rights
  1279. ───────────
  1280. Right = {v=text_file_name}.  This method reads the text file and then displays
  1281. it in a window on screen.  The user can press escape to abort running the menu
  1282. item.  A maximum of 20 lines of 72 characters or less will be shown.
  1283.  
  1284.  
  1285. Software metering rights
  1286. ────────────────────────
  1287. Right = {m=command:number}.  Entering this right on an item's right line will
  1288. force the command for the item to be metered, if metering is turned on and the
  1289. meter file has been defined (within DOSMENU.INI).  See the SOFTWARE METERING
  1290. SERVICE section for a complete discussion.
  1291.  
  1292. ;─────
  1293. W WordPerfect
  1294.      {m=wp51:25}
  1295.      f:\apps\wp\wp
  1296. ;─────
  1297.  
  1298. This item runs as long as less than 25 users are running it at the same time.
  1299.  
  1300.  
  1301. Run rights
  1302. ──────────
  1303. Right = {r=nobreak,clear,noclear}.
  1304. NOBREAK:  This is where you determine whether batch files will be run with a
  1305. second copy of the DOS command processor (NOBREAK) or not.  This right is only
  1306. appropriate when running multi-line commands (which DOSmenu turns into batch
  1307. files) or by running batch files; it should not be used unless batch files are
  1308. being run (and then it is your choice).  One disadvantage of running NOBREAK
  1309. is that NetWare search mapping commands generated within a batch file will not
  1310. work.  Consider the included NOBRK TSR utility for fool-proof disabling of the
  1311. ^C and ^Break keys.
  1312.  
  1313. ;─────
  1314. M My batch file
  1315.      {r=nobreak}
  1316.      dir \
  1317.      dmpause
  1318. ;─────
  1319.  
  1320. CLEAR|NOCLEAR:  This simply clears/does not clear the DOS screen before
  1321. running the menu item command; else the DOSMENU.INI default decides.
  1322.  
  1323.  
  1324. Location rights
  1325. ───────────────
  1326. Right = {l=one_to_three_letters}.  You may optionally place this right on a
  1327. notice to set the location of it on the screen, like:
  1328.  
  1329. ;─────
  1330. {l=tl}
  1331. A note
  1332. ;─────
  1333.  
  1334. where T=top, L=left, B=bottom, and R=right, N=noise and F=Flash title.
  1335.  
  1336.  
  1337. NOTES
  1338. ═════
  1339.  
  1340. More than one of the above methods may be used at one time, either within the
  1341. same right grouping or by having two or more groupings separated with a ';'.
  1342. For example, you can place both a server (s=) method and a group (g=) method
  1343. on the same menu item, like:
  1344.  
  1345. ;─────
  1346. Paradox
  1347.      {g=paradox} {s=server1}
  1348.      paradox
  1349. ;─────
  1350. Here, it is read as member of paradox group _AND_ on server1.
  1351.  
  1352. ;─────
  1353. Paradox
  1354.      {g=paradox;s=server1}
  1355.      paradox
  1356. ;─────
  1357. Here, it is read as member of paradox _OR_ on server1.
  1358.  
  1359. Note that when using more than one grouping, each of the groupings must be
  1360. true for the item to be shown (they are ANDed).  When using one or more
  1361. methods within the same group, they are ORed.
  1362.  
  1363. Placing a '!' before a name means 'not'.  Where {g=paradox} means if the
  1364. current user is a member of group paradox, then display the menu item;
  1365. {g=!paradox} means display the item only if the current user is NOT a member
  1366. of group paradox (they are ORed only within each set of braces {}).
  1367.  
  1368. You may use spaces instead of commas.  The syntax {g=group1,group2} is the
  1369. same as {g=group1 group2}.
  1370.  
  1371. The biggest rule that you must remember about the rights methods are that
  1372. within each set of braces {}, the answer must be true.  So if you use more
  1373. than one set of braces for a menu item, they all must be true.  For example:
  1374.  
  1375. ;─────
  1376. P Paradox
  1377.      {g=paradox} {u=joe,jim;n=fa164505} {s=!server2}
  1378. ;─────
  1379.  
  1380. will only show on the menu if the user is a member of the PARADOX group _AND_
  1381. the user is JOE _OR_ JIM _OR_ the node address is FA164505 _AND_ the user is
  1382. not on SERVER2.
  1383.  
  1384.  
  1385. TESTING YOUR MENU
  1386. ═════════════════
  1387.  
  1388. After you have placed a lot of restrictions on your menu items, you may find
  1389. it frustrating to see what the final outcome of an item looks like.  There is
  1390. a way around this.  Enter a bogus user ID [server name] [node address] from
  1391. the command line.  For instance, if you wish to check the menu appearance for
  1392. John on APPSERVER at station F6085678, then enter the startup batch file with
  1393. the command
  1394.  
  1395.      MENU /U:JOHN [/S:APPSERVER] [/N:F6085678]
  1396.  
  1397. This will bring up the menu with the above restrictions so that you may run
  1398. through the sub-menus and check it out.
  1399.  
  1400. You may also use the /T switch to temporaily ignore most rights phrases, like
  1401. u=, g=, s=, d=, f=, n=, t=, etc. for debugging purposes.
  1402.  
  1403.      MENU /T
  1404.                                   MENU RULES
  1405. ══════════════════════════════════════════════════════════════════════════════
  1406.  
  1407. The syntax for the menu file requires certain conventions.  In most cases,
  1408. DOSmenu will issue an error message if it has trouble interpreting the file
  1409. because of a syntax violation of one of the below described rules.  If you get
  1410. stuck in an error loop within the batch file, press Alt-F10 at the read error
  1411. message window to quit.
  1412.  
  1413. As of version 7.0, you may substitute DOS variables anywhere in the
  1414. DOSMENU.INI and DOSMENU.NTE files and all menu (*.MNU) files (but not at the
  1415. beginning of menu item lines!).
  1416.  
  1417.  
  1418. RULES
  1419. ═════
  1420.  
  1421. Main menu name
  1422. ──────────────
  1423. The first line of the file must be the main menu's name, starting with a
  1424. percent symbol '%'.  You can optionally place the starting x and y
  1425. coordinates of the main menu window and its window pane color after the menu
  1426. name, like:  %Main Menu, 5, 10, 6.  This means the upper left corner of the
  1427. menu will be 5 columns from the left edge and 10 rows from the top and the
  1428. window will be color 6 (brown).
  1429.  
  1430. The standard MS-DOS colors are:
  1431.  
  1432.      0=black  1=blue  2=green  3=cyan  4=red  5=magenta  6=brown  7=white
  1433.  
  1434. and the default is 7 (white).
  1435.  
  1436. Server sections
  1437. ───────────────
  1438. There must be at least one server name before any menu items, unless
  1439. operating in a standalone environment.  In a network environment, use :ALL, as
  1440. a minimum, just after the main menu title and the one REQUIRED blank line.
  1441.  
  1442. Comments and blank lines
  1443. ────────────────────────
  1444. Any line starting with a semi-colon ';' is a programming comment only.  Blank
  1445. lines are only allowed (and, in fact, REQUIRED) before server sections and
  1446. sub-menu titles. See the example menu file built as part of the install
  1447. process for a properly formatted file.  (Please do not confuse this with the
  1448. BLANK, LINE and LINE2 options dicussed below.)
  1449.  
  1450. Menu action character
  1451. ─────────────────────
  1452. If NOT using the one key switch (see SYSTEM SETUP section above), then the
  1453. first letter of a menu item will always be highlighted and will be searched
  1454. when the used presses a key to move to a particular menu item.  It may or may
  1455. not be part of the first word of the menu item.  For example,
  1456.  
  1457.      Lotus 1-2-3
  1458.  
  1459. and
  1460.  
  1461.      L Lotus 1-2-3
  1462.  
  1463. offer the same result.  It is a cosmetic choice that you must make.  Of
  1464. course, you could also use
  1465.  
  1466.      1 Lotus 1-2-3.
  1467.  
  1468. The above characteristics are only true if the 'Use One Key Selection' option
  1469. in the DOSMENU.INI file =no (the default is yes).  If it =yes, then when the
  1470. user presses the menu item letter, it will run immediately.  Also, DOSmenu
  1471. auto-generates the menu item letters in this case to prevent possible
  1472. duplicate letters.  Therefore, you would want to enter all menu items into
  1473. your menu file like
  1474.  
  1475.      Lotus 1-2-3
  1476.  
  1477. without a leading, separated menu item letter.
  1478.  
  1479. Indenting
  1480. ─────────
  1481. All server name lines and menu item lines must NOT be indented.  All help
  1482. lines, rights lines and DOS commands MUST be indented at least one space.  A
  1483. tab character is allowed for the indentation.
  1484.  
  1485. Rights line length
  1486. ──────────────────
  1487. The maximum length from the beginning of the rights ({}{}..) line from
  1488. beginning to end (not including spaces or beginning tabs) is 120.  You may
  1489. have more than one rights line per menu item for convenience, put there
  1490. character count must all add up to 120 or less.
  1491.  
  1492. Parameters
  1493. ──────────
  1494. Menu items may be setup to ask (and require) the user for a parameter prior
  1495. to actually running the command associated with the menu item.  Place '<>' or
  1496. '[]' (for required) at the exact location you wish to add input to the
  1497. command.  Here are some examples:
  1498.  
  1499. dir <> /p
  1500. chkdsk []:
  1501. format []: /u
  1502.  
  1503. For multi-command items and multi-response items, use the DMquery syntax.
  1504. See FILLING IN THE COMMAND LINE section for more.
  1505.  
  1506. Sub-menu names
  1507. ──────────────
  1508. All sub-menu names, both when called as a command and when entered as a
  1509. sub-menu title, must start with the percent symbol '%'.  There MUST be a
  1510. blank line before the actual sub-menu name as it starts the sub-menu section.
  1511. Sub-menus must come somewhere _after_ the menu item that calls them.  The
  1512. same optional x and y coordinates and window pane color applies as for the
  1513. Main menu name (see above).
  1514.  
  1515. Help lines
  1516. ──────────
  1517. Help lines for each menu item, if used, must be indented and start with a
  1518. number symbol '#'.  There can be a maximum of one help line per menu item.
  1519.  
  1520. About Lines
  1521. ───────────
  1522. About lines for each menu item, if used, must be indented and start with a
  1523. question mark symbol '?'.  There can be a maximum of one about line per menu
  1524. item.
  1525.  
  1526. Menu commands
  1527. ─────────────
  1528. If you place a %dos_var% syntax within the command, the actual DOS variable's
  1529. text will be used.  Make sure the first '%' is not the first character of the
  1530. command or it will be interpreted as a sub-menu name.  When this is necessary,
  1531. place 'call' in front of the command, like:
  1532.  
  1533.      call %drive%:\apps\paradox
  1534.  
  1535. Blank or lined menu items
  1536. ─────────────────────────
  1537. You may place a blank menu item or a lined menu item anywhere in your menu
  1538. and sub-menus by placing the keywords BLANK, LINE or LINE2 in the file as a
  1539. menu item with NO command items, help line or anything else associated with
  1540. them.  For example:
  1541.  
  1542. ;─────
  1543. Lotus 1-2-3
  1544.      123
  1545. LINE
  1546. WordPerfect
  1547.      wp
  1548. Paradox
  1549.   f:
  1550.   cd\apps\paradox
  1551.   paradox
  1552. ;─────
  1553.  
  1554. will result in:
  1555.  
  1556. ─────
  1557. Lotus 1-2-3
  1558. ───────────
  1559. WordPerfect
  1560. Paradox
  1561. ─────
  1562.  
  1563.  
  1564. NOTES
  1565. ═════
  1566.  
  1567. You may rename DOSMENU.MNU to another name or copy it to another menu file
  1568. because DOSmenu will run any menu file that you have as long as you
  1569. specify that file name on the command line.  Note that the '.MNU' is assumed.
  1570. No other extension is allowed.
  1571.  
  1572.      MENU PATH\MYMENU.MNU
  1573.  
  1574. and
  1575.  
  1576.      MENU MYMENU
  1577.  
  1578. will both attempt to load MYMENU.MNU, the later from DOSmenu's home directory.
  1579.  
  1580.  
  1581. LOADING ADDITION MENUS
  1582. ══════════════════════
  1583.  
  1584. You may switch menu files from within the menu system by LOADing them or
  1585. /MENUing them.  This is accomplished by placing the /LOAD [PATH]MENU_FILE or
  1586. /MENU [PATH]MENU_FILE as the first and only command line for a menu item,
  1587. like:
  1588.  
  1589. ;─────
  1590. Support Menu
  1591.      /load [path]support[.mnu]
  1592. ;─────
  1593.  
  1594. Here, the system will load the SUPPORT.MNU menu file (from DOSmenu's _home_
  1595. directory if no path is given) to temporarily replace the active menu file.
  1596. You may do this an unlimited number of times.  After a command is run, the
  1597. original main menu reloads.  You may only /LOAD one level deep.
  1598.  
  1599. To prevent the original main menu from reloading, use /MENU.  This command
  1600. forces the menu to become the permanent new default main menu.  If you wish
  1601. users to have the option of going back to the original menu later, you will
  1602. have to give them that option with another /MENU command in the new menu,
  1603. like:
  1604.  
  1605. ;─────
  1606. M Main Menu
  1607.      /menu [path]dosmenu[.mnu]
  1608. ;─────
  1609.  
  1610.  
  1611. CHAINING STARTUP BATCH FILES
  1612. ════════════════════════════
  1613.  
  1614. You may switch to another startup batch file (perhaps on an another attached
  1615. server?) from within a menu.  This is accomplished by placing the /NEW
  1616. [PATH]BATCH_NAME[.BAT] as the first and only command line for a menu item,
  1617. like:
  1618.  
  1619. ;─────
  1620. Support Menu
  1621.      /new [path]support[.bat]
  1622. ;─────
  1623.  
  1624. Here, the system will quit the current batch file, dumping the menu
  1625. environment variable, and run the [PATH]SUPPORT.BAT batch file.  This file now
  1626. becomes the new cyclic batch file that operates DOSmenu.  To get back to the
  1627. original startup batch file, issue another /NEW command from your active menu
  1628. file.
  1629.  
  1630.  
  1631. LOGGING IN TO OTHER SERVERS
  1632. ═══════════════════════════
  1633.  
  1634. You may login to another server from within a menu.  You do this by placing
  1635. the /LOGIN command before the actual command that calls your login sequence.
  1636. The difference between /NEW and /LOGIN is that /LOGIN does not check to see if
  1637. your command actually exists (it would be impossible) and the command does
  1638. not have to be a batch file.  Therefore, you should attempt to be sure your
  1639. login sequence will protect you in case the user fails the login.  DMlogin
  1640. works great in this regard.  It keeps you users from DOS, period, until the
  1641. login is successful.  Of course, the new server login script should (really
  1642. must for security) call another DOSmenu startup batch file on the new server.
  1643.  
  1644. Place the /LOGIN [PATH]COMMAND as the first and only command line for a menu
  1645. item, like:
  1646.  
  1647. ;─────
  1648. Login to Support
  1649.      /login [path]support[.bat]
  1650. -or- /login login server2/user1
  1651. -or- /login login /pro=server2 server2/user1 ;for NetWare Naming Service
  1652. ;─────
  1653.  
  1654. Here, the system will quit the current batch file, dumping the menu
  1655. environment variable, and run your command file (which should attempt a login
  1656. sequence).
  1657.                                   SUB-MENUS
  1658. ══════════════════════════════════════════════════════════════════════════════
  1659.  
  1660. Sub-menus are just like the main menu except that their title is the first
  1661. line of their definition.  The main menu's title is the first line of the
  1662. menu file.  Their title must start with a percent '%' character, and when
  1663. called from another menu item, this percent character must be included.
  1664.  
  1665. As of version 7.0, you may substitute DOS variables anywhere in the
  1666. DOSMENU.INI and DOSMENU.NTE files and all menu (*.MNU) files (but not at the
  1667. beginning of menu item lines!).
  1668.  
  1669. ;─────
  1670. %Main Menu
  1671.  
  1672. Word Perfect
  1673.      wp
  1674. Utilities
  1675.      %Utility Menu
  1676. Paradox
  1677.      paradox
  1678. ;─────
  1679.  
  1680. ;The , 5, 10, 2 is optional and determines x and y menu window coordinates
  1681. and menu color.
  1682.  
  1683. ;─────
  1684. %Utility Menu, 5, 10, 2
  1685. Directory of...
  1686.      dir <> /p
  1687. Check disk
  1688.      chkdsk []:
  1689. ;─────
  1690.  
  1691. Here, the sub-menu '%Utility Menu' is called from one of the main menu items.
  1692.  
  1693. Sub-menus follow the server-based convention along the vertical development of
  1694. the menu file.  In other words, if a sub-menu is found under the :SERVER2
  1695. server name line, then it will not be accessible from a menu calling it which
  1696. is situated under :SERVER1.  Sub-menus are typically placed at the end of the
  1697. menu file under an :ALL alias server name section.
  1698.  
  1699. Although you may place up to 40+ sub-menus per menu file, we recommend less.
  1700. This is to protect the integrity of your network (DOSmenu will not load if
  1701. there is not enough memory).  Remember, you may always load additional menus
  1702. with the /LOAD and /NEW commands.
  1703.                              COMPILING MENU FILES
  1704. ══════════════════════════════════════════════════════════════════════════════
  1705.  
  1706. The DMutil program will compile and decompile INI and menu files, if desired.
  1707. The syntax is:
  1708.  
  1709.      DMUTIL /C [PATH]FILENAME
  1710.  
  1711. The output compiled file will be the same name.  You can then later decompile
  1712. the file with the command:
  1713.  
  1714.      DMUTIL /D [PATH]FILENAME
  1715.  
  1716. Compiling INI and menu files is not required.  Your users can run DOSmenu
  1717. without ever compiling one file.  However, security is a great reason to
  1718. consider compiling them after they have been tested.
  1719.                             TRANSLATING MENU FILES
  1720. ══════════════════════════════════════════════════════════════════════════════
  1721.  
  1722. You can easily translate NetWare batch files to DOSmenu batch files with the
  1723. DMutil utility with the following command:
  1724.  
  1725.      DMUTIL /T [PATH]NETWARE_MENU_NAME
  1726.  
  1727. The generic default server name flag :ALL will be placed two lines after the
  1728. main menu title, giving access to all servers initially.
  1729.  
  1730. If your NetWare menu used any @variable"fill-in lines", then you must change
  1731. them within the new menu file to DOSmenu's format as it uses the external
  1732. DMquery utility for this purpose with additional options.
  1733.                             TEMPORARY BATCH FILES
  1734. ══════════════════════════════════════════════════════════════════════════════
  1735.  
  1736. Normally DOSmenu takes a menu's DOS command and stuffs it into the DOS
  1737. variable _dmcmd so that the startup batch file, MENU.BAT, can then run it
  1738. after DOSmenu quits.  However if their is more than one DOS command, DOSmenu
  1739. instead makes a temporary batch file and stuffs that name into the variable
  1740. instead.
  1741.  
  1742. The location and name of the temporary batch file is as follows:
  1743.  
  1744. Name
  1745. ────
  1746. On a Novell network, the name will be _DMBATn.BAT where n is the actual
  1747. network connection number taken by the user's workstation.  (_DMBTnnn.BAT is
  1748. used if the connection number is greater than 99 - you can make it
  1749. _DMBAT.BAT always by changing a switch in the DOSMENU.INI file.)
  1750.  
  1751. If not on a Novell network, or the option 'Use Connection Numbers' is set
  1752. to NO, then the batch file is simply named _DMBAT.BAT.
  1753.  
  1754. Location
  1755. ────────
  1756. If the Private Directory option in the INI file was filled out with a
  1757. directory, then the batch file will be written and run from that directory.
  1758. If not, then it will be written and run from DOSMENU.EXE's home directory,
  1759. which is fine for stand-alone environments.
  1760.  
  1761. Notes
  1762. ─────
  1763. The DOS batch file word 'call ' is placed at the beginning of every line that
  1764. does not start with a ':' (which could be a label).  This syntax _only_
  1765. affects commands that are actually batch file names, allowing them to return
  1766. to DOSmenu's temporary batch file at completion.
  1767.  
  1768. Example
  1769. ───────
  1770. If a menu item looked like this:
  1771.  
  1772. ;─────
  1773. Word Perfect
  1774.      f:
  1775.      :RUN-IT
  1776.      cd\apps\wp51
  1777.      wp
  1778.      h:
  1779.      cd\
  1780. ;─────
  1781.  
  1782. then the corresponding batch file would look like this:
  1783.  
  1784. @echo off
  1785. call f:
  1786. :RUN-IT
  1787. call cd\apps\wp51
  1788. call wp
  1789. call h:
  1790. call cd\
  1791.                           DOS ENVIRONMENT VARIABLES
  1792. ══════════════════════════════════════════════════════════════════════════════
  1793.  
  1794. DOSmenu uses DOS variables to make the system work without _any_ overhead;
  1795. user ID, server name, workstation node address, command for a selected menu
  1796. item, last time the DOSMENU.NTE file was changed (for noticing), software
  1797. metering application, and name of the last 'main menu' used.
  1798.  
  1799. The node address variable needed if you intend to restrict any menu items by
  1800. comparing a workstation's node address.  In a Novell network, you could define
  1801. this variable like:
  1802.  
  1803.      DOS SET _NODE="%P_STATION"<<4
  1804.  
  1805. where the <<4 takes the first 4 numbers away from the actual twelve digit
  1806. address.
  1807.  
  1808. The user ID and server name variables are _only_ needed if you are not running
  1809. on NetWare and are not on a stand-alone environment.  In this case, you define
  1810. and load two DOS variables once during the user login script with the correct
  1811. information.
  1812.  
  1813.      DOS SET _USER="%LOGIN_NAME"
  1814.      DOS SET _SERVER="%FILE_SERVER"
  1815.  
  1816. where _user and _server and be called anything you wish.  You would then add
  1817. these two names two the INI file so DOSmenu will know what they are called.
  1818. It takes care of the rest.
  1819.  
  1820. The variable for the menu item command is called _dmcmd and is always used.
  1821.  
  1822. The variable _dmnte is used when you wish to leave dynamic notices to
  1823. any and all users.
  1824.  
  1825. The menu name variable, _dmmnu, keeps track of the last permanent main menu
  1826. used in DOSmenu before quitting to the batch file as well as the last
  1827. sub-menu and item selected.
  1828.  
  1829. The _dmmtr variable holds the meter rights issued with the current DOS
  1830. command, if any.
  1831.  
  1832. DMquery also uses environment variables.  It will use up to 9 variables named
  1833. _dmq1, _dmq2, .., _dmq9.
  1834.  
  1835. As of version 7.0, you may substitute DOS variables anywhere in the
  1836. DOSMENU.INI and DOSMENU.NTE files and all menu (*.MNU) files (but not at the
  1837. beginning of menu item lines and not _after_ any line containing %_DMQ%!).
  1838.                                    NOTICING
  1839. ══════════════════════════════════════════════════════════════════════════════
  1840.  
  1841. DOSMENU.NTE is used to leave notices to any and all users -dynamically.  Here
  1842. you may place notices based on the rights defined for each notice.  Each
  1843. notice consists of at least two lines; line 1 contains the rights and the
  1844. following lines (up to 10) contain the actual notice, like:
  1845.  
  1846. ;─────
  1847. {g=paradox} {s=server1}
  1848. Paradox will be down on SERVER1 all day today.
  1849. Hopefully it will be up tomorrow...
  1850. ;─────
  1851. Here, only users in group PARADOX on server SERVER1 will get this notice.
  1852.  
  1853. Each user may have up to 15 active notices.  Each notice may have up to 10
  1854. lines of up to 70 characters long.
  1855.  
  1856. You can add and subtract from this section anytime throughout the day.  When
  1857. a user starts the menu system, and after returning to the menu system (from
  1858. commands, etc), the notices are checked and shown, if needed.  This gives the
  1859. noticing system a dynamic quality that can be quite useful to you as an
  1860. administrator!
  1861.  
  1862. The time stamp of the file when the user reads notices is kept in a DOS
  1863. variable called _dmnte.  This variable is checked each time a user reloads the
  1864. menu system after running a command.  If you have made a change to the
  1865. DOSMENU.NTE file during that time, then the user will see the notices again,
  1866. and the variable will be updated.
  1867.  
  1868. As of version 7.0, you may substitute DOS variables anywhere in the
  1869. DOSMENU.INI and DOSMENU.NTE files and all menu (*.MNU) files (but not at the
  1870. beginning of menu item lines!).
  1871.                                 PERSONAL MENUS
  1872. ══════════════════════════════════════════════════════════════════════════════
  1873.  
  1874. On a network, each user may use and maintain one personal menu, named
  1875. DOSMENU.PER.  This menu file is kept and read from the user's defined private
  1876. directory.
  1877.  
  1878. The F5 key will load the menu for the user so he/she can use it.  After
  1879. running a command from it, DOSmenu will return to the last shared main menu.
  1880. If the personal menu does not yet exist, a simple menu will be created for the
  1881. user first.
  1882.  
  1883. The F6 key allows the user to edit the personal menu with DMutil.  All
  1884. commands that would grant access to other parts of your network are disabled
  1885. while the user is editing the menu.  Only the SAVE and QUIT commands are
  1886. enabled.
  1887.  
  1888. To disallow the personal menu option, set the "Allow Personal Menus" line to
  1889. NO in DOSMENU.INI.
  1890.  
  1891. If allowed, we recommend setting the "Force Personal NoBreaks" line to YES.
  1892. Otherwise, a user may be able to break of some DOS batch commands.  One
  1893. disadvantage to using this approach is that any NetWare search mappings
  1894. contained within a batch file will not work.  An alternative approach would be
  1895. to set nobreaks to false and instead use the included NOBRK TSR utility, which
  1896. ensures complete nobreak protection without affecting network batch file-based
  1897. search mappings.
  1898.                           PICKING FILES FROM LISTS
  1899. ══════════════════════════════════════════════════════════════════════════════
  1900.  
  1901. While building your menu, you may have the need to show users a "pick list"
  1902. of possible choices before the user actually runs the menu item command.
  1903. That is easy to do with DOSmenu!
  1904.  
  1905. This is accomplished by placing a '{{' in a command line immediately followed
  1906. by a file specification and a '}}' just after it.
  1907.  
  1908. Additionally, there are two ways to do this -- 1) use a file specification
  1909. and 2) define a file that holds the pick list.  A few examples will show the
  1910. way here.
  1911.  
  1912.  
  1913. Using a file specification
  1914. ──────────────────────────
  1915.  
  1916. 1. Which WordPerfect file to edit?
  1917. ;─────
  1918. Edit A WordPerfect File
  1919.      wp {{f:\data\wp\*.doc}}
  1920. ;─────
  1921.  
  1922.  
  1923. 2. Which file to view with DMview (and don't allow printing)?
  1924. ;─────
  1925. View A Documentation File
  1926.      dmview /n {{f:\login\dm*.doc}}
  1927. ;─────
  1928.  
  1929.  
  1930. 3. Which program to run?
  1931. ;─────
  1932. Run A Program
  1933.      {{f:\public\*.exe}}
  1934. ;─────
  1935.  
  1936.  
  1937. 4. Which files to see (in wide view)?
  1938. ;─────
  1939. Directory Of Your Data
  1940.      dir {{f:\%user%\data\*.*}} /w/p
  1941. ;─────
  1942.  
  1943.  
  1944. Defining a pick text file
  1945. ─────────────────────────
  1946.  
  1947. Instead of relying on a particular file specification, you may make the pick
  1948. list be anything you wish.  Simply place the pick items you want to show the
  1949. user on separate lines in a text file and then use the text file as the pick
  1950. specification with a '@' in front of it.  For example:
  1951.  
  1952.  
  1953. Contents of F:\LOGIN\DMLIST.TXT:
  1954.  
  1955. C:\AUTOEXEC.BAT
  1956. C:\CONFIG.SYS
  1957. C:\WINDOWS\SYSTEM\SYSTEM.INI
  1958. C:\WINDOWS\WIN.INI
  1959.  
  1960. ;─────
  1961. E Edit System Files
  1962.      ed {{@f:\login\dmlist.txt}}
  1963. ;─────
  1964.  
  1965.  
  1966. Contents of F:\LOGIN\DRIVES.TXT
  1967.  
  1968. A:
  1969. B:
  1970.  
  1971. ;─────
  1972. F Format A Drive
  1973.      format {{@f:\login\drives.txt}} /u
  1974. ;─────
  1975.  
  1976.  
  1977. Contents of F:\LOGIN\RUN.TXT
  1978.  
  1979. SYSCON
  1980. FILER
  1981. PCONSOLE
  1982. PRINTCON
  1983.  
  1984. ;─────
  1985. R Run A Network Program
  1986.      {{f:\login\run.txt}}
  1987. ;─────
  1988.  
  1989.  
  1990. You can also define a pick text file to have both shown pick verbage onscreen
  1991. for the user and a separate command.  For instance, the following
  1992. TEST.TXT file contents:
  1993.  
  1994. ;user text      command text
  1995. Format Drive A ;A:
  1996. Format Drive B ;B:
  1997.  
  1998. shows
  1999.  
  2000.      Format Drive A
  2001.      Format Drive B
  2002.  
  2003. in the pick list for the user, but actually passes the text
  2004.  
  2005.      A:
  2006.      B:
  2007.  
  2008. back to your menu item command line (depending upon which one was picked) as
  2009. the substitute for the {{@TEST.TXT}}!  So your pick lists really can be
  2010. anything you want them to be.
  2011.  
  2012.  
  2013. As you can see, the possible uses are nearly endless.  Here are the rules.
  2014.  
  2015. o    The first {{ character is used to determine the pick specification
  2016.      (there may only be one pick per command line).
  2017. o    The file specification is any text surrounded by {{ and }}.
  2018. o    If more {{}} are found on a command line, they will automatically be
  2019.      replaced as well.
  2020. o    This option may be combined with the fill option, described in the next
  2021.      section (see below).
  2022. o    In the optional pick text file, if a ' ;' is found, it is used to
  2023.      separate the shown pick verbage from the actual command.
  2024.  
  2025. For defined text pick files, these parameters apply:
  2026.  
  2027. o    A maximum of 250 items can be shown.
  2028. o    The maximum width of a pick item may be 67 characters.
  2029. o    Any line/item starting with a ';' is a comment.  So are blank lines.
  2030.  
  2031. That's all there is to it.  Give it a try; we think you find this feature
  2032. to be very useful, flexible and powerful -- and we think you will like it.
  2033.                          FILLING IN THE COMMAND LINE
  2034. ══════════════════════════════════════════════════════════════════════════════
  2035.  
  2036. Sometimes it may be desirable to allow the user to finish making a menu item
  2037. command while the user is using the menu.  This is also easy to do with
  2038. DOSmenu!
  2039.  
  2040. This is accomplished by placing a '<> or '[]' (for required input) anywhere
  2041. within a command line (where you want the user input to be added).  This
  2042. option works very nicely with the file pick option described in the preceding
  2043. section (see above).  For example:
  2044.  
  2045.  
  2046. Let's say you wanted to ask the user which directory to show when asking:
  2047. WordPerfect file to edit?
  2048.  
  2049. ;─────
  2050. E Edit A WordPerfect File
  2051.      #Enter the 2-digit month and the 2-digit year, like (0195)
  2052.      wp {{f:\data\wp\[]\*.doc}}
  2053. ;─────
  2054.  
  2055. Here, the user is presented with a question box in which they would fill in
  2056. the month and year to complete the directory path.  Then DOSmenu shows a pick
  2057. list of files in that directory for the user to choose from.  Remember, the
  2058. help line will remain at the bottom of the screen to help them fill in.
  2059.  
  2060. You could even do this:
  2061.  
  2062.      wp {{f:\data\%user%\wp\[]\*.doc}}
  2063.  
  2064. in which case the user's login name would also help fill out the directory
  2065. path.
  2066.  
  2067.  
  2068. Of course, this fill in option can be used by itself:
  2069.  
  2070.      dir <> /p
  2071.      -or-
  2072.      wp f:\data\wp\[].doc
  2073.  
  2074. which would immediately run WordPerfect with the file name the user
  2075. specifies.
  2076.  
  2077. As you can see, the possible uses here are also nearly endless.  Here are the
  2078. rules.
  2079.  
  2080. o    The first <> or [] set is used to determine the fill point (there may
  2081.      only be one fill per command line).
  2082. o    If more <> or [] are found on a command line, they will automatically be
  2083.      replaced as well.
  2084. o    This option may be combined with the pick option, described in the
  2085.      preceding section (see above).
  2086.  
  2087. That's all there is to it.  Give it a try; we think you will like this
  2088. feature also.
  2089.  
  2090. Note that the user will be restricted to the fill portion of the command
  2091. line, thereby protecting you from having a user change your commands!
  2092.                                UNATTENDED RUNS
  2093. ══════════════════════════════════════════════════════════════════════════════
  2094.  
  2095. It is possible to run a menu item at a later time.  This is accomplished by
  2096. highlighting the menu item and then pressing Ctrl+Enter.
  2097.  
  2098. You can only run actual menu items in unattended mode.  Sub-menus will not
  2099. run this way.  You cannot run, in unattended mode, any menu items that have
  2100. Get, Fill or Pick questions/lists associated with them or those items that
  2101. will ask for a password.  Additionally, this feature only works if the 'Timed
  2102. Quit' option in the DOSMENU.INI file has not been set (see MENU DEFINITION
  2103. section).
  2104.  
  2105. After pressing Ctrl-Enter, you will be asked for a time to run the highlighted
  2106. menu item.  You must enter this time in 24-hour time and in HH:MM format.
  2107.  
  2108.      Example:  01:30 for 1:30 am  -or-  23:30 for 11:30 pm
  2109.  
  2110. When the unattended item run time comes, the item will run just as if you had
  2111. pressed Enter on it.  Any question, comment, or view rights associated with
  2112. that item will be ignored to facilitate the unattended run.  You should also
  2113. make sure the item does not call DMquery for batch file questions.
  2114.  
  2115. A clear sign is posted on the computer screen to make sure it is obvious the
  2116. computer is waiting for an event.
  2117.  
  2118. You must press Esc twice to cancel the unattended operation.
  2119.                           DMUTIL MAINTENANCE UTILITY
  2120. ══════════════════════════════════════════════════════════════════════════════
  2121.  
  2122. COMMAND PARAMETERS
  2123. ══════════════════
  2124.  
  2125. The DMutil program keeps all of your menu maintenance requirements in one
  2126. utility.  Nearly anything you need to do to your menu system can be done with
  2127. DMutil.
  2128.  
  2129. Here is the command syntax:
  2130.  
  2131.      DMUTIL ?
  2132.      DMUTIL /M|T|C|D [PATH]FILENAME
  2133.      DMUTIL
  2134.      DMUTIL [PATH]FILE|[PATH]SPEC [[[PATH]FILE|[PATH]SPEC] ..]
  2135.      DMUTIL /L [USER_ID]
  2136.  
  2137. where:
  2138.  
  2139.       ? = DMutil and system installation quick help
  2140.  
  2141.      /M = Makes default DOSmenu BAT, MNU, INI, and NTE files
  2142.  
  2143.      /T = Translates NetWare menu files
  2144.  
  2145.    /C|D = Compiles|Decompiles DOSmenu INI, MNU, or NTE files
  2146.  
  2147.         = Edits all menu system files at once
  2148.  
  2149.  FILE.. = Edits any number of text file(s) up to 64K in length each
  2150.  
  2151.      /L = parses specific user ID entries from the central log file, if used.
  2152.  
  2153.  
  2154. THE MENU FILE EDITOR
  2155. ════════════════════
  2156.  
  2157. The editor is a simple ascii text editor that has specific help screens to
  2158. give you some on-line help on all menu file types.  Any ascii editor can be
  2159. used to edit the startup BAT, INI, MNU and NTE files (if they have not been
  2160. compiled).
  2161.  
  2162. It's operation is self-explanatory, but a few items are worth mentioning:
  2163.  
  2164. o    Edits files with any DOS attribute set and then resets those attributes
  2165.      afterwards.
  2166.  
  2167. o    Automatically decompiles - edits - recompiles your menu files for you.
  2168.  
  2169. o    Can edit many text files at once with commands like \WINDOWS\*.INI, etc.
  2170.  
  2171. o    Can show tabs and spaces in a file on screen.
  2172.  
  2173. o    Press Alt+H inside DMutil for specific setup help screens.
  2174.  
  2175.  
  2176. RUNNING FROM DOSMENU
  2177. ════════════════════
  2178.  
  2179. DMutil can be run from DOSmenu with the F9 or Ctrl+F9 keys.
  2180.  
  2181. With Ctrl+F9, all menu system files are brought up at once (just like calling
  2182. DMUTIL from the command line).
  2183.  
  2184. With F9, only the current menu file is edited.  In addition, DMutil will take
  2185. you to that point in the file that contains the menu item you were poiting to
  2186. in DOSmenu, making spot menu edits a dream.
  2187.  
  2188. When a user presses F6 to edit their personal menu, again DMutil is called to
  2189. perfrom the editing function.
  2190.                           HARDWARE MANAGING SERVICE
  2191. ══════════════════════════════════════════════════════════════════════════════
  2192.  
  2193. DOSmenu includes a powerful capability called hardware managing which enables
  2194. you keep track of hardware specifics for all workstations on your network.
  2195. DOSmenu utilizes the DMmanage utility for this purpose.
  2196.  
  2197. There are more expensive and perhaps more foolproof offerings on the market
  2198. for this service, but DOSmenu does the job simply and inexpensively.  We
  2199. tried to keep it simple yet effective for you, the administrator.
  2200.  
  2201. To set up managing:
  2202.  
  2203. 1.  Place these commands in the DOSMENU.INI file:
  2204.  
  2205. Use Managing=yes
  2206. Manage File=f:\share\dosmenu.man (or something like that)
  2207.  
  2208. Users must have WRITE and ERASE rights to the above area.
  2209.  
  2210. 3.  Make sure you have properly setup the node address variable in the
  2211. DOSMENU.INI and your network login script (see the DOS ENVIRONMENT VARIBALES
  2212. section).
  2213.  
  2214. That's all there is to it!
  2215.  
  2216. DMmanage will start and keep a database for you that compiles the following
  2217. information:
  2218.  
  2219. NODE     -The workstation's node address.  Database is sorted on this field.
  2220.           Will be made 8 characters long (if your node addresses are longer,
  2221.           the last 8 characters will be used).
  2222.  
  2223. YYMMDD   -Year, month, day of last update.  By default DMmanage only updates
  2224.           once a day, when necessary.
  2225.  
  2226. DOS      -The DOS version.
  2227.  
  2228. CRT      -The CRT card type.
  2229.  
  2230. DOS      -Available DOS conventional memory at sample time.
  2231.  
  2232. EXT      -Total extended memory.
  2233.  
  2234. A: / B:  -Capacity of floppy drive.
  2235.  
  2236. C: / D:  -Size of hard drive.
  2237.  
  2238. CPU      -Type of CPU.  Note:  This version of DMmanage cannot denote a
  2239.           pentium processor.  A 386 CPU _may_ actually be a Pentium.
  2240.  
  2241. FPU      -Type of math co-processor.  Note the Pentium exception above.
  2242.  
  2243. SPD      -Approximate speed of CPU (can vary slightly).
  2244.  
  2245. USER     -Last user when sample was taken (to help _find_ the machine).  Will
  2246.           be truncated to 6 characters.  A user name will not be entered if
  2247.           you are not using NetWare and the DOSMENU.INI file has not been
  2248.           completed properly.  The character just after the USER label is an
  2249.           internal database version number for DMmanage.
  2250.  
  2251.  
  2252. To purge the database of old workstation records, type
  2253.  
  2254.      DMMANAGE /P:n {where n is the number of days of age to use for purging}
  2255.  
  2256. The purge age default is 30 days.
  2257.  
  2258. To make this database a comma-delimited file which can easily be imported into
  2259. most other programs, type
  2260.  
  2261.      DMMANAGE /D
  2262.  
  2263. and the file DMMANAGE.TXT will be made in the current directory.
  2264.  
  2265. For a quick screen output of any workstation (whether set up in DOSMENU.INI
  2266. or not), type
  2267.  
  2268.      DMMANAGE
  2269.  
  2270. DMmanage is normally run by DOSmenu the first time the menu system is
  2271. started only (if turned on in DOSMENU.INI) and only if it has not already
  2272. collected information for that workstation during that day.
  2273.                           SOFTWARE METERING SERVICE
  2274. ══════════════════════════════════════════════════════════════════════════════
  2275.  
  2276. DOSmenu includes a powerful capability called software metering which
  2277. enables you to control the number of simultaneous run instances of an
  2278. application.  For instance, if you have bought 25 licenses for WordPerfect,
  2279. you now have the means to insure that only 25 copies are run at one time from
  2280. within the menu system on your network.
  2281.  
  2282. There are more expensive and perhaps more foolproof offerings on the market
  2283. for this service, but DOSmenu does the job simply and inexpensively.  We
  2284. believe that an administrator's effort level in attempting to control software
  2285. licensing is at least 95 percent of any distributor's concerns.
  2286.  
  2287. To set up metering:
  2288.  
  2289. 1.  Place these commands in the DOSMENU.INI file:
  2290.  
  2291. Use Metering=yes
  2292. Meter File=f:\share\dosmenu.mtr (or something like that)
  2293.  
  2294. Users must have WRITE and ERASE rights to the above area.
  2295.  
  2296. 2.  Place the meter right on those commands you want metered, for example:
  2297.  
  2298. ;─────
  2299. W WordPerfect
  2300.         {m=wp51:25}
  2301.         f:\apps\wp\wp
  2302. ;─────
  2303.  
  2304. will meter the use of F:\APPS\WP\WP.EXE for all accesses from DOSmenu.  Here,
  2305. if 25 instances are already in use, DOSmenu will instruct the user that the
  2306. maximum licenses are in use and to try again later.
  2307.  
  2308. Syntax is important.  The keyword, here WP51, may be 10 or less characters
  2309. with no spaces, followed by an colon ':', followed by a number from 1 to 999
  2310. (with no spaces) -or- if no :number is entered, 999 is assumed.
  2311.  
  2312. Of course anyone accessing WP.EXE from outside the menu system will not be
  2313. metered in this way.  See the DMMETER METERING UTILITY section to find out how
  2314. to handle this problem.
  2315.  
  2316. Note:  RECOMMEND DELETING THIS FILE PERIODICALLY/NIGHTLY...  If any user locks
  2317. up while in a metered application, or gets rebooted at that point, then the
  2318. meter count for that app will remain off by one (it will show one greater than
  2319. actual).  We therefore recommend deleting the meter file periodically, perhaps
  2320. at night before or after your backup.  See WOMETER WINDOWS METERING UTILITY
  2321. section below for an automatic way to perform this function.
  2322.                            DMMETER METERING UTILITY
  2323. ══════════════════════════════════════════════════════════════════════════════
  2324.  
  2325. This utility can optionally monitor your software usage from outside of the
  2326. menu system.  It does the same thing DOSmenu does when you activate the meter
  2327. right for a menu item, except it does it from within DOS batch files.
  2328.  
  2329. Here are the command line parameters:
  2330.  
  2331.      DMMETER APP[:LICENSE_COUNT] {before batch command}
  2332.  
  2333. and
  2334.  
  2335.      DMMETER {after batch command}
  2336.  
  2337. Here is an example batch file:
  2338.  
  2339. @echo off
  2340. [path]dmmeter wp51:25    ;add instance of wp51 app to meter file
  2341. if errorlevel 1 goto END ;if too many instances already, don't do it
  2342. f:\apps\wp\wp            ;run the app
  2343. [path]dmmeter            ;subtract instance of wp51 from meter file
  2344. :END
  2345.  
  2346. DMMETER.EXE must reside in DOSMENU.EXE's home directory, and DOSMENU.INI must
  2347. also be present there.
  2348.  
  2349. If an errorlevel 1 is returned, an error window pops up to tell the user
  2350. of the problem and asks them to try again later.
  2351.  
  2352. To reset a problem app (one that locks machines now and then?) to 0 in the
  2353. meter file (instead of deleting the entire file) run DMmeter with the reset
  2354. switch, like:
  2355.  
  2356.      dmmeter /reset wp51
  2357.  
  2358. To view concurrent usage of metered applications from the DOS prompt, use:
  2359.  
  2360.      dmmeter /view
  2361.                            WOMETER METERING UTILITY
  2362. ══════════════════════════════════════════════════════════════════════════════
  2363.  
  2364. This utility can optionally monitor your software usage from within Windows.
  2365.  
  2366. WOMETER.EXE looks for the meter file's name in its WOMETER.INI file.  If not
  2367. found, it makes this file in its home directory and then you fill in the name,
  2368. like:
  2369.  
  2370. [Setup]
  2371. MeterFile=f:\login\logs\dosmenu.mtr
  2372.  
  2373. WOmeter allows real-time resetting of specific metered applications, in case
  2374. the count has gone astray (perhaps from user lockups, etc.).
  2375.  
  2376. WOmeter can automatically erase your meter file on a daily basis at a
  2377. specified time.  The default is 00:01 (one minute after midnight).
  2378.  
  2379. You may also define the length of time WOmeter waits between re-reads of the
  2380. meter file (10-60 seconds).
  2381.                          DMQUERY BATCH INPUT UTILITY
  2382. ══════════════════════════════════════════════════════════════════════════════
  2383.  
  2384. DMquery is a utility that can be used to provide input for batch files made
  2385. with DOSmenu.
  2386.  
  2387. Here are the command line parameters:
  2388.  
  2389.      DMQUERY n [/R|U|E|Danswer]
  2390.  
  2391. where
  2392.  
  2393.       n = A number from 1..9
  2394.  
  2395.      /R = Input required (answer required)
  2396.  
  2397.      /U = Input forced to upper case
  2398.  
  2399.      /E = Input echoed to screen
  2400.  
  2401. /Danswer = Input default answer is 'answer' (no spaces allowed)
  2402.  
  2403.  
  2404. The DOS variable '_DMQn' is used.  DMquery may be run from DOS or a DOS shell;
  2405. however, it must be queried for and acted upon within the _same_ batch file.
  2406.  
  2407. Here is an example DOSmenu menu item:
  2408.  
  2409. ;─────
  2410. D Directory
  2411.         echo Directory of what?
  2412.         dmquery 1
  2413.         echo Switches (/w, /p, etc)?
  2414.         dmquery 2
  2415.         dir %_DMQ1% %_DMQ2%
  2416.         pause
  2417. ;─────
  2418.  
  2419. NOTES:  You must NOT use the {r=nobreak} right with DMquery or it will not
  2420. have enough environment space to perform properly.  Do not place a DOS
  2421. variable _after_ %_DMQn% on a line.
  2422.                              WINDOWS OFFICE MENU
  2423. ══════════════════════════════════════════════════════════════════════════════
  2424. We have another product, WOmenu, that is a network menuing system as well.
  2425. However, WOmenu is Windows-based. It's functionality is similar to DOSmenu
  2426. (shared log and meter files, etc.). If you are interested in this product,
  2427. please contact us. To try it first, look on the Internet with Anonymous FTP:
  2428. io.com:/pub/usr/zboray/shareware  directory.
  2429.  
  2430.                    BONUS UTILITIES (FOR REGISTERED USERS)
  2431. ══════════════════════════════════════════════════════════════════════════════
  2432.  
  2433. The following functions are also included with registration:
  2434.  
  2435. FULL MOUSE SUPPORT
  2436.  
  2437.  
  2438. The following programs are included with registration (listed alphabetically):
  2439.  
  2440.  
  2441. DMASCII.EXE  - An ascii chart showing the decimal, hexidecimal and character
  2442.                codes of all 256 ascii characters.
  2443.  
  2444.  
  2445. DMBEEP.EXE   - Beeps the workstation in one of three different ways.
  2446.  
  2447.  
  2448. DMCAL.EXE    - A quick calendar utility that helps your users find dates, etc.
  2449.  
  2450.  
  2451. DMCALC.EXE   - A 5-function programmer's calculator that also performs
  2452.                floating point (currency) calulations.
  2453.  
  2454.  
  2455. DMCBOOT.EXE  - Cold boots the workstation.
  2456.  
  2457.  
  2458. DMCHKDIR.EXE - Check to see if a directory exists, even if empty, and even on
  2459.                NetWare!
  2460.  
  2461.  
  2462. DMDIRF.EXE   - Show users files only, without the DOS directory header stuff.
  2463.  
  2464.  
  2465. DMDIRS.EXE   - Show users the sub-directories only, no files or DOS header
  2466.                stuff.
  2467.  
  2468.  
  2469. DMGET.EXE    - Another DOS-level batch get utility.  With this utility, you
  2470.                can get answers through a popup window.
  2471.  
  2472.  
  2473. DMLIST.EXE   - A full-fledged file viewing utility for you and your users.
  2474.                This is an enhanced version of DMview that includes more
  2475.                technical options, such as hex mode viewing.
  2476.  
  2477.  
  2478. DMLOG.EXE    - A computer logging utility.  We use this utility to log nearly
  2479.                everything that happens on our network.
  2480.  
  2481.  
  2482. DMMSG.EXE    - Leave a message on screen and wait for a keypress.
  2483.  
  2484.  
  2485. DMNPT.EXE    - A utility that simplifies and solves at least one bug with
  2486.                NetWare's nprint program.  This point and shoot utility
  2487.                nprint's to the queue _you_ want, not necessarily your default
  2488.                queue.
  2489.  
  2490.  
  2491. DMPOST.EXE   - A screen poster utility.  Great for network notification.  When
  2492.                DOSmenu's internal notice function is not enough, we use this
  2493.                in standard batch files to warn or update users.
  2494.  
  2495.  
  2496. DMRUN.EXE    - An instant menu pick and run program.  This utility has many
  2497.                unique uses.
  2498.  
  2499.  
  2500. DMSECURE.EXE - A computer security program.  When DOSmenu is not enough or is
  2501.                not running, this utility can easily fill the gap to help
  2502.                ensure a secure workstation.  Use DMsaver instead if on a
  2503.                NetWare network to secure with your network password.
  2504.  
  2505.  
  2506. DMSTATS.EXE  - Show available memory (all types) and available drive space
  2507.                (all drives except A and B) for the workstation.
  2508.  
  2509.  
  2510. DMUPDWS.EXE  - A powerful utility, like NetWare's WSUPDATE.EXE program, but
  2511.                better!
  2512.  
  2513.  
  2514. DMWBOOT.EXE  - Warm boots the workstation.
  2515.  
  2516.  
  2517. DMYN.EXE     - Gets a Yes/No answer from a question in a batch file and acts
  2518.                upon it.
  2519.                     USING DOSMENU WITH NOVELL NETWARE 4.X
  2520. ══════════════════════════════════════════════════════════════════════════════
  2521.  
  2522. DOSmenu works very well with Novell's NetWare 4.x series network operating
  2523. system.  You have two choices when using 4.x NetWare depending upon whether
  2524. you are using bindery emulation or not.
  2525.  
  2526.  
  2527. USING BINDERY EMULATION
  2528. ═══════════════════════
  2529.  
  2530. If you are using bindery emulation, then everything works exactly as
  2531. advertised just like you were using an earlier version of NetWare.  You have
  2532. no changes to make to the normal DOSmenu setup.
  2533.  
  2534.  
  2535. NOT USING BINDERY EMULATION
  2536. ═══════════════════════════
  2537.  
  2538. If bindery emulation is turned off, then you have a couple of adjustments to
  2539. make in order to fully use DOSmenu's rich features.
  2540.  
  2541.  
  2542. Faking groups at the menu level
  2543. ───────────────────────────────
  2544. Because there is no bindery per se, DOSmenu cannot by itself determine if a
  2545. user is a member of a group.  This is fairly easily rectified however by
  2546. using the Directory right instead.  When placing users in groups, take one
  2547. extra step and assign them READ and FILE SCAN trustee rights to a "fake"
  2548. directory on the server.  We suggest you make one directory off the root
  2549. called FLAGS.  Under that directory, make additional directories as needed to
  2550. help DOSmenu determine whether a user is a member of a group.
  2551.  
  2552. For instance, let's say you wish to make JOE a member of the ACCTNG group so
  2553. you can later place this item in your DOSmenu menu:
  2554.  
  2555. ;─────
  2556. A Accounting Package
  2557.      {g=acctng}
  2558.      accounter
  2559. ;─────
  2560.  
  2561. This item normally shows the 'A Accounting Package' to Joe because he is a
  2562. member of Accntng.  Although this works great when a bindery is available, it
  2563. does not work without one.  Therefore, if you give Joe trustee rights to a
  2564. directory called F:\FLAGS\ACCTNG, then Joe will be able to 'see' that
  2565. directory when he is logged in to the server.  And therefore the following
  2566. item will acomplish the same purpose using the directory rights:
  2567.  
  2568.  
  2569. ;─────
  2570. A Accounting Package
  2571.      {d=f:\flags\acctng}
  2572.      accounter
  2573. ;─────
  2574.  
  2575. Only those users who can 'see' this acctng directory will see this item on
  2576. their menu.  So the norm would be to assign trustee rights to a 'flagged'
  2577. directory for each group you make.
  2578.  
  2579. Faking a "normal" user name
  2580. ───────────────────────────
  2581. If the User name at the top right of the DOSmenu menu screen shows more than
  2582. just the simple user name, like JOE, then NetWare is returning a user 'path'
  2583. that may include where the user is from on the network.  While this can be
  2584. very useful information, it destroys DOSmenu's ability to react on a user
  2585. name within the menu.  Again, there is a simple way around this.  During
  2586. login, within the login script, simply define a DOS variable to hold the
  2587. actual user name and then use that variable for DOSmenu operations, just like
  2588. you do for the workstation node address variable.  For example, when Joe logs
  2589. in, the network login script could define the DOS variable, USER, to hold his
  2590. actual user name, like:
  2591.  
  2592. DOS SET USER=%LOGIN_NAME
  2593.  
  2594. You must define for DOSmenu, within its DOSMENU.INI file under the [Network]
  2595. section, what variable will hold the user name for menu users, like:
  2596.  
  2597. [Network]
  2598. Non-Network DOS User Var=USER
  2599.  
  2600. Now, DOSmenu will look to this variable for the user's actual login name
  2601. instead of the expanded login name offered by NetWare 4.x itself.
  2602.  
  2603.  
  2604. After making these two adjustments, DOSmenu will work perfectly with NetWare
  2605. 4.x, just like it does with previous versions.
  2606.                           COMMONLY ASKED QUESTIONS
  2607. ══════════════════════════════════════════════════════════════════════════════
  2608.  
  2609. ?    I GET CRYPTIC MESSAGES AFTER LOGGING OUT OF A NETWARE NETWORK.  WHAT CAN
  2610.      I DO TO PREVENT THIS?
  2611.  
  2612. Ans: When you use a batch file to run the NetWare logout command, some of your
  2613.      mappings will be lost before the batch file is completed, leading to
  2614.      strange DOS errors.  For instance, if you used the OUT.BAT to log out and
  2615.      the contents of OUT.BAT were:
  2616.  
  2617.      OUT.BAT
  2618.      ───────
  2619.      @echo off
  2620.      cls
  2621.      logout
  2622.      f:
  2623.  
  2624.      then you might receive one of these:
  2625.  
  2626.      Cannot execute X:\OUT.BAT
  2627.      or
  2628.      Invalid drive specification - X:\OUT.BAT
  2629.      or
  2630.      perhaps your DOS prompt goes completely away.
  2631.  
  2632.      It is easy to prevent this from occurring.  What is probably happening is
  2633.      that you are not in the F:\LOGIN directory when the OUT comand is issued
  2634.      or either DOS 'sees' you on another drive, like X:, due to your network
  2635.      search mappings for the F:\LOGIN directory.  In any event, you simply
  2636.      need to make a dummy batch file in a directory that is higher up (before)
  2637.      than the LOGIN mapping, usually F:\PUBLIC.  In this example, make a dummy
  2638.      OUT.BAT in F:\PUBLIC that contains:
  2639.  
  2640.      OUT.BAT
  2641.      ───────
  2642.      @echo off
  2643.      f:
  2644.      cd\login
  2645.      out
  2646.  
  2647.      This will redirect DOS and make sure that it actually is 'in' F:\LOGIN
  2648.      before it runs the OUT.BAT in F:\LOGIN, and then DOS will not be lost
  2649.      after the logout command is issued from that batch file.
  2650.  
  2651.      If your F:\LOGIN search mapping is already the 'first' mapping on your
  2652.      mapping list, then make the OUT.BAT in F:\LOGIN redirect to another batch
  2653.      file in F:\LOGIN, so DOS will actually 'be there' and run that batch file
  2654.      for the logout instead.  For example, make OUT.BAT look like this:
  2655.  
  2656.      OUT.BAT
  2657.      ───────
  2658.      @echo off
  2659.      f:
  2660.      cd\login
  2661.      realout
  2662.  
  2663.      where REALOUT.BAT is a batch file in F:\LOGIN that contains:
  2664.  
  2665.      REALOUT.BAT
  2666.      ───────────
  2667.      @echo off
  2668.      cls
  2669.      logout
  2670.      f:
  2671.  
  2672.      Although the above sounds complicated, it really isn't.  All you are
  2673.      trying to do is to insure that DOS is 'in' F:\LOGIN and running a batch
  2674.      file that is 'in' F:\LOGIN before the actual logout command is issued, so
  2675.      that it doesn't get 'lost' afterwards.  Above all, place your DOSmenu
  2676.      files in your \LOGIN directory (they can be hidden).
  2677.  
  2678. ══════════════════════════════════════════════════════════════════════════════
  2679.  
  2680. ?    ON A NETWORK, WHEN LOGGING OUT THROUGH DOSMENU, SOMETIMES USING THE
  2681.      LOGOUT COMMAND (FOR LOGOUT.EXE) LEAVES ERROR MESSAGES ON THE USER'S DOS
  2682.      SCREEN OR TAKES AWAY THE USER'S DOS CURSOR AND PROMPT.  WHY IS THIS AND
  2683.      WHAT CAN I DO?
  2684.  
  2685. Ans: Simple.  As an addon to the above discussion, just make sure that
  2686. something like the following two lines are near the top of your MENU.BAT file:
  2687.  
  2688.      MENU.BAT (near top)
  2689.      ────────
  2690.      f:
  2691.      cd\login
  2692.  
  2693.      This will insure that DOS is 'in' the login directory after running the
  2694.      logout command, and therefore MENU.BAT will still be found so that it can
  2695.      be completed by DOS.
  2696.  
  2697.      Alternatively, you could place a dummy MENU.BAT in a higher mapped
  2698.      directory, like PUBLIC, that reads:
  2699.  
  2700.      MENU.BAT
  2701.      ────────
  2702.      @echo off
  2703.      f:
  2704.      cd\login
  2705.      menu %1 %2 %3 %4 %5
  2706.  
  2707.      This would accomplish the same thing.
  2708.  
  2709.      In any case, the other DOSmenu files do not need to be in the LOGIN
  2710.      directory.  But if you choose to place them there, that's OK.  You may
  2711.      even make them hidden with the hidden DOS/network attribute if you wish.
  2712.      Just do not make them readonly at the file level.  Setting the LOGIN
  2713.      directory to READ and FILE SCAN only is adequate and will work well.
  2714.  
  2715. ══════════════════════════════════════════════════════════════════════════════
  2716.  
  2717. ?    AFTER PASSING THE LOGOUT COMMAND, I STILL GET A MENU AFTER THE LOGOUT IS
  2718.      COMPLETED.  HOW DO I STOP THIS?
  2719.  
  2720. Ans: Add a line at the beginning of your MENU.BAT to check to see if the user
  2721.      is still logged in or not, like:
  2722.  
  2723.      if not exist f:\public\*.* goto END
  2724.  
  2725.      This way, the MENU.BAT will quit after logout.
  2726.  
  2727. ══════════════════════════════════════════════════════════════════════════════
  2728.  
  2729. ?    WHEN WE TRY TO USE THE GOTO END COMMAND TO GIVE USERS A MENU QUIT OPTION,
  2730.      IT DOESN'T WORK.  WHY AND HOW DO WE DO IT?
  2731.  
  2732. Ans: To use this function, it must be the only command for that menu item.
  2733.      For example:
  2734.  
  2735.      Q Quit
  2736.      cls
  2737.      goto END
  2738.  
  2739.      will not work because if there is more than one command, DOSmenu makes
  2740.      the commands into a temporary batch file.  In that case the 'goto END'
  2741.      command would only go to the end of the temporary batch file!  The
  2742.      following will work:
  2743.  
  2744.      Q Quit
  2745.      goto end
  2746.  
  2747. ══════════════════════════════════════════════════════════════════════════════
  2748.  
  2749. ?    WHY WOULD I WANT TO TURN OFF MOUSE SUPPORT IN DOSMENU.INI?
  2750.  
  2751. Ans: Under some configurations, your DOS mouse driver (MOUSE.COM, etc.) may
  2752.      take some delay in initializing, therebey introducing an unwanted delay
  2753.      factor between menu selections.  This delay would occur because DOSmenu
  2754.      unloads itself between menu commands to give you all of the DOS memory to
  2755.      run programs.  When it unloads itself, the mouse driver is automatically
  2756.      un-initialized by DOS as well.
  2757.  
  2758. ══════════════════════════════════════════════════════════════════════════════
  2759.  
  2760. ?    WHY DO I SOMETIMES GET A PARAMETER ERROR WHEN I RUNNING MENU.BAT ON A
  2761.      NETWARE NETWORK?
  2762.  
  2763. Ans: NetWare's MENU.EXE program is probably in your search path (normally in
  2764.      \PUBLIC).  You should either delete or rename this file.
  2765.  
  2766. ══════════════════════════════════════════════════════════════════════════════
  2767.  
  2768. ?    HOW DO I USE THE DOSMENU GROUP RIGHT ON NETWARE 4.X WITHOUT EMULATION?
  2769.  
  2770. Ans: You can't.  But you can use the DOSmenu Directory right instead.  Simply
  2771.      give group members trustee rights to a 'flag' directory and then test for
  2772.      that directory in the menu instead of testing for the group.  As an
  2773.      example, if a user is a member of WP group, and you give that group
  2774.      trustee rights to a directory, say F:\FLAGS\WP, then the user will be
  2775.      able to run the menu item if you check the right {d=f:\flags\wp}, while
  2776.      other users, who are not a member of WP and therefore do not have rights
  2777.      to F:\FLAGS\WP, will not have the item on their menu.
  2778.  
  2779. ══════════════════════════════════════════════════════════════════════════════
  2780.  
  2781. ?    HOW DO I USE THE %VAR% AS A MENU COMMAND WHEN THE %VAR% MUST BE AT THE
  2782.      BEGINNING OF THE COMMAND?  DOESN'T THAT SIGNIFY A SUB-MENU CALL?
  2783.  
  2784. Ans: Yes it does.  But there is a safe way around that syntax.  Simply place
  2785.      a 'call' statement before the command.  DOSmenu eventually does this
  2786.      anyway and one more at the beginning of the line makes no difference to
  2787.      DOS.  For example, if you need the command:
  2788.  
  2789.           %var%:\apps\paradox
  2790.  
  2791.      where %var% signifies the drive letter, then enter the command like this:
  2792.  
  2793.           call %var%:\apps\paradox.
  2794.  
  2795.      This will work nicely.
  2796.                                   SHAREWARE
  2797. ══════════════════════════════════════════════════════════════════════════════
  2798.  
  2799. Evaluation Copy
  2800. ═══════════════
  2801.  
  2802. THIS IS NOT FREE SOFTWARE!  You may evaluate and use this product, but if you
  2803. decide to make use of it on a regular basis, you must register your copy.
  2804.  
  2805. NOTE:  BUSINESSES, GOVERNMENT AGENCIES AND INSTITUTIONS ARE REQUIRED TO
  2806. REGISTER THIS SOFTWARE PACKAGE BEFORE EXTENDED USE.
  2807.  
  2808. We offer several inducements to you for registering.  First of all, you will
  2809. receive the most up-to-date copy of the program -- and we update the program
  2810. on a regular basis.  Second, full mouse support is available in the
  2811. registered version.  Third, we have additional mini-utilities that work
  2812. nicely with DOSmenu not included in this package that we will ship to you
  2813. upon registration.  Fourth, you will receive a printer manual.  Fifth, you
  2814. will never see the shareware message again.  Make no mistake, however -- this
  2815. is a fully functional version of DOSmenu that is not "crippled" in any way.
  2816.  
  2817.  
  2818. Distribution
  2819. ════════════
  2820.  
  2821. This is "user-supported" software.  You are hereby granted permission to
  2822. distribute this evaluation copy of DOSmenu and its documentation, subject to
  2823. the following conditions:
  2824.  
  2825. 1.  Shareware DOSmenu may be distributed freely without charge in evaluation
  2826.     form only.  The original PKZIP self-extracting file, DOSMNU.EXE, is the
  2827.     preferred method.
  2828.  
  2829. 2.  DOSmenu in its shareware form may not be sold, licensed, or a fee charged
  2830.     for its use.  If a fee is charged in connection with DOSmenu, it must
  2831.     cover the cost of copying or dissemination only.  Such charges must be
  2832.     clearly identified as such by the originating party.  Under no
  2833.     circumstances may the purchaser be given the impression that he is buying
  2834.     a registered version of DOSmenu.
  2835.  
  2836. 3.  Shareware DOSmenu must be presented as a complete unit with documentation.
  2837.     Neither DOSmenu nor its documentation may be amended or altered in any way
  2838.     without permission of the copyright holder.
  2839.  
  2840. 4.  By granting you the right to distribute the evaluation form of DOSmenu,
  2841.     you do not become the owner of DOSmenu in any form.
  2842.  
  2843. Any other use, distribution or representation of DOSmenu is expressly
  2844. forbidden without written consent from the copyright holder.
  2845.  
  2846.  
  2847. Registration
  2848. ════════════
  2849.  
  2850. The non-commercial single-user registration fee for DOSmenu is $55.00 US.
  2851. ($10 shipping and handling is included.)
  2852.  
  2853. The commercial/government and multi-system site fee for DOSmenu is:
  2854.  
  2855.      Non-network environment:
  2856.           Per machine        -  $55.00 US.
  2857.      Network environment:
  2858.           Per server         - $260.00 US.
  2859. ($10 shipping and handling is included.)
  2860.  
  2861. Send a check drawn on a US bank, a postal money order, a cashiers check, or a
  2862. company/institution purchase order for the appropriate amount to:
  2863.  
  2864.           Bremer Corporation
  2865.           5114 Balcones Woods Drive, #307-372
  2866.           Austin, Texas 78759
  2867.  
  2868.           Telephone: 512-328-2465          INTERNET E-mail:  zboray@io.com
  2869.                                            CompuServe ID: 71614,2556
  2870.  
  2871. See DMORDER.DOC for a ready-made ordering form.
  2872.  
  2873. We also accept Mastercard, Visa, American Express Card and Corporate American
  2874. Express Card telephone orders.  Send card number, expiration date and sign
  2875. the order form for card orders.
  2876.  
  2877.  
  2878. Disclaimer
  2879. ══════════
  2880.  
  2881. Bremer Corporation does not warrant that the functions contained in this
  2882. program will meet your requirements or that the program operation will be
  2883. uninterrupted or error free.
  2884.  
  2885. Bremer Corporation specifically disclaims all other warranties, expressed or
  2886. implied, including but not limited to implied warranties of fitness for any
  2887. particular purpose and of merchantability.
  2888.  
  2889. In no event will Bremer Corporation be liable to you for any damages,
  2890. including but not limited to any lost profits, lost savings, commercial
  2891. damage or other incidental or consequential damages arising out of the use or
  2892. inability to use this program, or for any claim by any other party.
  2893.  
  2894.  
  2895. Trademarks
  2896. ══════════
  2897.  
  2898. Trademarks of companies or products mentioned in DOSmenu documentation files
  2899. are the property of their respective companies.
  2900.                     ADDITIONAL DOSMENU DOCUMENTATION FILES
  2901. ══════════════════════════════════════════════════════════════════════════════
  2902.  
  2903. The following files are located on disk:
  2904.  
  2905. DMREADME.DOC     - DOSmenu installation instructions.
  2906. DMREV.DOC        - DOSmenu revision history.
  2907. DMORDER.DOC      - DOSmenu order form.
  2908. DOSMENU.DOC      - DOSmenu documentation (this manual).
  2909. DMLOGIN.DOC      - DMlogin documentation.
  2910. DMNOBRK.DOC      - NoBrk prelude documentaton for included NoBrk product.
  2911.